2009-01-29 4 views
8

DokuWiki에서 jQuery를 사용하는 데 문제가 있습니다. 이미이 작업을 성공적으로 마친 사람이 있습니까?DokuWiki와 jQuery를 함께 사용할 수 있습니까?

현재 모든 종류의 JS 기능이 중단되어 jQuery 재사용을 포함하여 문제의 원인을 추적하는 데 문제가 있습니다. jQuery와 충돌하는 경향이있는 것은 무엇입니까?

답변

16

나는 개인적으로 DokuWiki는 익숙하지 않아요하지만 당신은 jQuery를 포함하면 뭔가 그냥 파괴되면 그때는 아마 jQuery를에 '$'변수와의 충돌입니다. 당신은 그 극복 자세한 내용은 여기에 jQuery의 noConflict 방법을 사용할 수 있습니다 : http://docs.jquery.com/Using_jQuery_with_Other_Libraries

참조이 스택 오버플로 게시물 : 도쿠 위키에 JQuery와 추가하는 플러그인도 있습니다 jQuery & Prototype Conflict

+6

AFAIK에, 유일한 항목이 글로벌 네임 스페이스에 추가 된 $와 jQuery를 (있다 동의어입니다). noConflict()를 사용하면 이것을 jusy jQuery로 줄입니다. 잘하면 DokuWiki는 전역 네임 스페이스에서 jQuery를 참조하지 않습니다.) –

6

당신은 일반적으로 사용하여 모든 jQuery를 충돌을 방지 할 수있는 당신이 jquery.js 장착 한 후에 바로 다음 다음

jQuery.noConflict(); 

, 그것은 대부분이 JS에서 문제의 소스 인 $ 변수를 덮어 쓰지 않습니다 라이브러리 충돌. 하지만 jQuery을 사용하여 jQuery 함수를 호출해야합니다. 예를 들면 :

jQuery(function() { ... }); // $(function ... 
jQuery(".klass").hide(); // $(".klass" ... 
0
jQuery.noConflict(); 

jQuery("your element selector") 또는 $ 대신 무엇이든 사용할 수 있습니다. 코드에서 $ 좋네요을 사용하려면 너무처럼 주위에 기능을 포장 : 답을 설명

jQuery.noConflict() 
(function($) { 
    $("your element selector").whatever(); 
})(jQuery) 

추가 혜택을 What is the benefit of wrapping a jquery function in a closure?

관련 문제