Facebook Connect, jQuery UI, og jQuery.noConflict ()

stemmer
6

Jeg prøver å bygge en side på min personlige nettside som både brukes jQueryog redskaper Facebook Connect.

Dessverre, den Facebook client APIbruker $ token, noe som betyr at jeg må ringejQuery.noConflict()

Dobbeltdessverre, har jeg funnet ut at for noen sprø grunn, og som Rick Strahl påpeker, betyr jQuery UI ikke respektere noConlict (). I det hele tatt. Faktisk, hvis du ser på kildekoden, er det $s over den.

Jeg virkelig ønsker å være i stand til å bruke jQuery UI - spesifikt, dialog()komponent, og draggableville være veldig hyggelig også - men jeg enda mer, jeg ønsker ikke å ha for hånden redigere - og teste og vedlikeholde - min egen kopi av noen del av jQuery UI.

Dette er den siste i en serie av yaks jeg har hatt å barbere som har meg på mine arme råd. Noen forslag? Hjelp!

Publisert på 24/12/2008 klokken 23:24
kilden bruker
På andre språk...                            


1 svar

stemmer
18

Innlegget du har referert er ganske gammel og utdatert. Den 1.0utgivelsen av jQuery UIhatt dette problemet i et par filer og ble løst så snart det ble rapportert.

Alle jQuery UI er pakket inn i en closuresom går i jQuery som $og kan derfor bruke $ internt mens $ brukes til noe annet eksternt.

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

Bruk følgende teknikken, som lar deg bruke $ innsiden av en blokk med kode uten permanent skrive $:

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

Merk: Hvis du bruker denne teknikken, kan du fortsatt bruke Prototype via window.$f.eks window.$('some_element_id'). Enhver funksjon utsiden av nedleggelse som referanser $vil påberope Prototype, selv om heter fra innsiden nedleggelse.

Det er derfor du ser $inni jQuery UI-filer, men trygg, noen nyere versjon av jQuery UI (1.5+)fullstendig støttet medjQuery.noConflict()

Svarte 25/12/2008 kl. 04:28
kilden bruker

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