2009-01-29 12 views
8

Mam problemy z pobieraniem jQuery z DokuWiki - czy ktoś już to zrobił?Czy DokuWiki i jQuery mogą grać razem?

W tej chwili, w tym jQuery ponownie uruchamia się we wszystkich rodzajach łamania funkcjonalności JS i mam problem ze znalezieniem źródła problemu. Jakie rzeczy należy szukać, które kolidują z jQuery?

Odpowiedz

16

nie jestem zaznajomiony z DokuWiki osobiście, ale jeśli coś jest złamanie tylko po to jQuery to prawdopodobnie konflikt z zmiennej „$” w jQuery. Można użyć metody noConflict jQuery, aby obejść to, więcej informacji tutaj: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

Zobacz również to przepełnienie stosu postu: jQuery & Prototype Conflict

+6

AFAIK, jedyne elementy dodane do globalnej przestrzeni nazw są $ i jQuery (które są synonimami). Użycie noConflict() redukuje to do jQuery. Mam nadzieję, że DokuWiki nie odwołuje się do niczego o nazwie jQuery w globalnej przestrzeni nazw;) –

6

Zazwyczaj można uniknąć konfliktów jQuery przy użyciu następujących zaraz po załadowaniu jquery.js:

jQuery.noConflict(); 

Następnie, nie zastąpi zmienną $, który jest najczęściej źródłem problemów w tych JS konflikty bibliotek. Musisz jednak zadzwonić do funkcji jQuery za pomocą jQuery. Przykłady:

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

Następnie można użyć jQuery("your element selector") lub cokolwiek innego niż $. Aby skorzystać z ładniejszy $ w kodzie po prostu zawinąć funkcję wokół niego tak:

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

dodatkowe korzyści opisane w odpowiedzi na What is the benefit of wrapping a jquery function in a closure?

Powiązane problemy