- js/board.js가 예전 코딩 방식을 따르고 있어 동적으로 추가된 요소들에 대한 이벤트 적용이 이뤄지지 않을 수 있습니다.
- 특히 대댓글에 달린 첨부파일 목록 숨기기 및 보이기 기능이 먹통이 되곤 합니다.
- 가급적 애드온에 처리하고 싶지만 무슨 이유에서인지 js를 다시 로드하더라도 이벤트가 안 먹어서 그냥 스킨 수정 방법을 제시하고자 합니다.
- 두 군데 정도 수정해야 합니다.
1. _comment.html
<div id="files_{$comment->comment_srl}" class="cmt_files tg_cnt2">
이 부분을 다음과 같이 수정합니다.
=> <div id="files_{$comment->comment_srl}" class="cmt_files tg_cnt2" style="display: none;">
2. js/board.js
// sketchbook's Toggle2 (Original : XE UI)
이렇게 된 주석이 있을 텐데 해당 주석이 가리키고 있는 바로 아래의 코드들을 다음과 같이 수정합니다.
117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | var tgC2 = '.tg_cnt2' ; $(document).on( 'click' , '.tg_btn2' , function (){ var t = $( this ); var h = t.attr( 'data-href' ); if (t.next(h).is( ':visible' )){ t.focus().next().fadeOut(200); } else { $(tgC2).filter( ':visible' ).hide(); t.after($(h)).next().fadeIn(200).css( 'display' , 'block' ).find( 'a,input,button:not(.tg_blur2),select,textarea' ).eq(0).focus(); }; return false ; }); function tgClose2(){ $(tgC2).filter( ':visible' ).fadeOut(200).prev().focus(); }; $(document).on( 'keydown' , function (event){ if (event.keyCode != 27) return true ; // ESC return tgClose2(); }); $(document).on( 'mouseleave' , tgC2, tgClose2); $(document).on( 'focusin' , '.tg_blur2' , tgClose2); $(document).on( 'click' , '.tg_close2,#install_ng2 .close' , tgClose2); |
이렇게 하니까 파일 목록 숨김 처리 및 관련 이벤트가 부드럽게 작동하게 됩니다.