Home > 애드온 > 원댓/대댓 따로따로 > 첨부파일 목록 숨김 기능을 유지하는 방법 - 스케치북 게시판 스킨

첨부파일 목록 숨김 기능을 유지하는 방법 - 스케치북 게시판 스킨

by 아포리아 posted Mar 30, 2022 Views 128 Likes 0 Replies 0

- 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);

 

이렇게 하니까 파일 목록 숨김 처리 및 관련 이벤트가 부드럽게 작동하게 됩니다.