묻고답하기
제이쿼리 충돌문제
2013.12.09 11:31
메뉴 때문에 header 에서jquery.min.js 파일을 불러오고 있습니다. (레이아웃의 메뉴 기능을 사용하지 않음)
다른건 작동이 잘 되는데 게시판 관리에서 분류버튼을 누르면 분류지정을 할 수 있는 창이 뜨지 않더군요.
xe내의 /common/js/jquery.min.js '파일과 충돌이 일어나는 것 같습니다.
둘 중 하나만 불러오면 되겠지 싶어
헤더에 /common/js/jquery.js 을 불러오게 하고 classes/display/HTMLDisplayHandler.php 파일 내에서
$oContext->loadFile(array('./common/js/jquery.min.js', 'head', '', -100000), true); 부분을 주석처리 하였는데
메뉴는 정상 작동을 하나, 여전히 분류버튼은 작동하지 않습니다.
파일을 바꿔보기도하고, 이것저것 시도를 해봤는데도 둘 중 하나만 작동을 하고 문제는 해결되지 않네요
ㅠ.ㅠ
어떻게 하면 둘 다 정상작동이 될까요? 고수님들~~ 도와주세요~~
참고로
layouts/default/header.php 에서 js/jquery.min.js 를 불러오게하고 있습니다.
댓글 3
-
애니즌
2013.12.09 15:05
-
로양
2014.05.22 11:55
감사합니다!! 답글 확인을 제대로 못해서 포기하고 있었는데 시도해 보겠습니다!!
-
애니즌
2014.05.22 12:24
아니면
기존 jquery 문을 아래처럼 감싸주세요
그럼 기존 처럼 사용할 수 있어요.
JQuery(function($){
//jquery~~
$('document').ready(function(){
alert('문서준비됨');
})
});
아니면
$()~ 대신 jQuery()~ 로 쓰셔도 됩니다.
기존에 xe에서 사용되는 jquery가 있어서 별도로 불러와서 $() 방식으로 쓰면 충돌이 나는 거라고 들었습니다.
저는 이렇게 해결했어요
새로 추가한 jquery 파일 로드하는 것을 삭제하구요
var $j = jQuery.noConflict();
$j('#classID').css("display","none");
}
이런식으로 하니깐 되더라구요..
앞에
var $j = jQuery.noConflict();
이것을 추가한 후에요
기존 jquery 선택자를 $('ClassID') -> $j('ClassID') 이렇게 호출하면 돼요