Facebook Connect, jQuery UI, și jQuery.noConflict ()

voturi
6

Am încercat să construiască o pagină de pe site - ul meu personal , care ambele folosite jQueryși pune în aplicare Facebook Connect.

Din păcate, Facebook client APIfolosește $ token, ceea ce înseamnă că trebuie să sunjQuery.noConflict()

Dublu-Din păcate, am aflat că , pentru un motiv oarecare nebun si ca Rick Strahl arată, jQuery UI nu respectă noConlict (). Deloc. De fapt, dacă te uiți la codul sursă, există $e peste tot.

Am într - adevăr doresc să fie în măsură să utilizeze jQuery UI - în mod specific, dialog()componenta, și draggablear fi foarte frumos la fel de bine - dar eu chiar moreso, eu nu doresc să aibă la îndemână-editare - și de testare, și să mențină - propria mea copie din orice parte a jQuery UI.

Acesta este cel mai recent dintr - o serie de iaci am avut să -și radă care ma la capătul puterilor. Orice sugestii? Ajutor!

Întrebat 25/12/2008 la 00:24
sursa de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
18

Mesajul pe care îl ai face referire este destul de vechi și de actualitate. 1.0Eliberarea a jQuery UIavut această problemă într - o serie de fișiere și a fost fixat de îndată ce a fost raportat.

Toate jQuery UI este înfășurat într - o closurecare trece în jQuery ca $și , prin urmare , se poate utiliza $ $ în timp ce pe plan intern este folosit pentru altceva din exterior.

de la http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Referencing_Magic_-_Shortcuts_for_jQuery

Utilizați următoarea tehnică, care vă permite să utilizați $ în interiorul unui bloc de cod fără a suprascrie permanent $:

(function($) {
  /* some code that uses $ */
})(jQuery)

Notă: Dacă utilizați această tehnică, puteți utiliza în continuare prototip prin window.$exemplu window.$('some_element_id'). Orice functie in afara de închidere dvs. , care referințele $va invoca Prototip, chiar dacă sunt apelate din interiorul închidere dumneavoastră.

Acesta este motivul pentru care veți vedea $în fișierele jQuery UI, dar fiți siguri, orice versiune recentă a jQuery UI (1.5+)este complet susținută cujQuery.noConflict()

Publicat 25/12/2008 la 05:28
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more