Facebook Connect, jQuery UI und jQuery.noConflict ()

stimmen
6

Ich versuche , eine Seite auf meiner persönlichen Webseite zu bauen , die beide verwendet jQueryund implementiert Facebook Connect.

Leider ist die Facebook client APIverwendet das $ token, was bedeutet , dass ich anrufenjQuery.noConflict()

Doppelklicken leider habe ich herausgefunden habe , dass aus irgendeinem verrückten Grund und wie Rick Strahl weist darauf hin, jQuery UI nicht respektiert noConlict (). Überhaupt. In der Tat, wenn man sich den Quellcode schauen, gibt es $s alle über sie.

Ich wirklich möchte in der Lage sein , jQuery UI verwenden - insbesondere die dialog()Komponente, und draggablewürde auch wirklich schön sein - aber ich sogar noch mehr, ich will nicht von Hand bearbeiten haben - und zu testen und halten - meine eigene Kopie irgendeines Teils jQuery UI.

Dies ist die jüngste in einer Reihe von Yaks Ich habe zu rasieren , die mir Ende mit meinem Latein hat. Irgendwelche Vorschläge? Hilfe!

Veröffentlicht am 25/12/2008 um 00:24
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
18

Der Beitrag , den Sie verwiesen haben , ist ziemlich alt und veraltet. Die 1.0Freigabe der jQuery UIdieses Problem in ein paar Dateien hatte und so schnell fixiert , wie es berichtet wurde.

Alle jQuery UI wird in einem eingewickelt , closuredie wie in jQuery geht $und deshalb intern verwenden können $ , während $ extern für etwas verwendet wird , anders.

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

Verwenden Sie die folgende Technik, die Sie ohne $ permanent überschreiben $ innerhalb eines Blocks von Code verwenden können:

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

Hinweis: Wenn Sie diese Technik verwenden, haben Sie immer Prototype über können window.$zB window.$('some_element_id'). Jede Funktion außerhalb des Verschlusses , die Referenzen $werden Prototype aufrufe, auch wenn sie aus Ihrer Schließung genannt.

Aus diesem Grunde sehen Sie werden $innerhalb der jQuery UI - Dateien, aber sicher sein, jede aktuelle Version jQuery UI (1.5+)vollständig unterstützt mitjQuery.noConflict()

Beantwortet am 25/12/2008 um 05:28
quelle vom benutzer

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