2011-02-04 16 views
8

Hej, ja tylko patrzyłem na dokumenty dotyczące funkcji NoConflict i nie mówię nic o tym, jak to działa (oczywiście). Właśnie się zastanawiałem, czy ktoś wie.Jak działa funkcja noConflict jQuery?

Czy wyłączy się $? (delete window.$?)

Wszelkie sugestie będą mile widziane.

Odpowiedz

10

można sprawdzić source code:

// Map over the $ in case of overwrite 
    _$ = window.$ 

//.... 
noConflict: function(deep) { 
     window.$ = _$; 

     if (deep) { 
      window.jQuery = _jQuery; 
     } 

     return jQuery; 
    } 
+0

Dzięki, prawdopodobnie powinienem był o tym pomyśleć. Staram się zobaczyć, jak to będzie działać. Czy _ $ jest rodzajem kopii zapasowej? A potem odkłada go, gdy nie ma konfliktu? – Olical

+1

Tak, _ $ jest kopią zapasową bieżącego okna. $ Var. – Distdev

+0

jestem coraz kod w najnowszej wersji jako jQuery.noConflict = function() {głęboki \t if ($ === okno jQuery). { \t \t okno $ = $ _.; \t} \t if (głębokie && window.jQuery === jQuery) { \t \t window.jQuery = _jQuery; \t} \t return jQuery; }; teraz głęboko służy w jakim celu? i "if (window. $ === jQuery)" do jakiego użytku? "jeśli (deep && window.jQuery === jQuery)" również do jakiego użytku? Proszę wyjaśnić: – Subhadeep

9

powraca on $ do tego, co było przed jQuery został załadowany.

+0

Ach, tak, to odpowiada na moje pytanie dotyczące odpowiedzi Distdev. Chciałbym zaakceptować obie twoje odpowiedzi naprawdę:/ – Olical

+0

lol, zaakceptuj jego, osiągnąłem dzisiaj czapkę;) – Petah

+0

OK, zrobione, wielkie dzięki! – Olical