- 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)
이렇게 된 주석이 있을 텐데 해당 주석이 가리키고 있는 바로 아래의 코드들을 다음과 같이 수정합니다.
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);
이렇게 하니까 파일 목록 숨김 처리 및 관련 이벤트가 부드럽게 작동하게 됩니다.