본문 바로가기
카테고리 없음

ThickBox 와 JQuery 플러긴 사이의 층돌

by 환타스틱 2015. 8. 20.

ThickBox 와 JQuery UI - Tab  충돌 문제

예전에 JQuery UI Tab 을 사용한 화면에서 Thickbox 를 사용하면 Thickbox 가 닫힌 뒤에 탭이 제대로 동작하지 않는 문제가 있었다. 그때는 그냥 그러려니 하고 넘어갔다가 최근에 UI Tab 이 아닌 JsTree 를 사용하다가 다시 비슷한 문제를 겪으면서 다시 찾아 보았다.

thickbox 는 더이상 유지 관리가 안되는 프로젝트이니 대안으로  lightbox, colorbox, fancybox 를 사용하라는 것을 보고 모두 다 시도해 보았으나 결과는 똑같이 작동이 안되었다.

결론적으로 문제는 JQuery UI Tab 이나 JQuery JsTree 에 있는 것이 아니라   *box 에 있었다. 자세한 내용은 https://wordpress.org/support/topic/wp-32-thickbox-jquery-ui-tabs-conflict 를 참조하면 된다.

문제의 해결은 thickbox.js의 코드 한줄을 고치면 된다.

    $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').trigger("unload").unbind().remove();});

를 찾아서 주석 처리하고 대신 아래 줄로 고친다.

    $("#TB_window").fadeOut("fast",function(){$('#TB_window,#TB_overlay,#TB_HideSelect').unload("#TB_ajaxContent").unbind().remove();});


lightbox, colorbox, fancybox 등도 비슷한 방법으로 해결할 수 있지 않을까 싶은데 해보지는 않았다.