Facebook Connect, jQuery UI, και jQuery.noConflict ()

ψήφοι
6

Προσπαθώ να οικοδομήσουμε μια σελίδα στην προσωπική μου ιστοσελίδα που τόσο χρησιμοποιούνται jQueryκαι εργαλεία Facebook Connect.

Δυστυχώς, το Facebook client APIχρησιμοποιεί η $ token, που σημαίνει ότι πρέπει να καλέσετεjQuery.noConflict()

Διπλό-δυστυχώς, έχω διαπιστώσει ότι για κάποιο τρελό λόγο και ως Rick Strahl επισημαίνει, jQuery UI δεν σέβεται noConlict (). Καθόλου. Στην πραγματικότητα, αν δει κανείς τον πηγαίο κώδικα, υπάρχουν $s σε όλο αυτό.

Έχω πραγματικά θέλουν να είναι σε θέση να χρησιμοποιούν jQuery UI - συγκεκριμένα, το dialog()στοιχείο, και draggableθα ήταν πολύ ωραίο καθώς και - αλλά ακόμη και Περισσότερα έτσι, δεν θέλω να έχετε στο χέρι, επεξεργασία - και δοκιμών, και να διατηρήσει - το δικό μου αντίγραφο από οποιοδήποτε μέρος του jQuery UI.

Αυτή είναι η πιο πρόσφατη σε μια σειρά από βουβάλια είχα να ξυρίσει το οποίο μου έχει στο τέλος ευστροφία μου. Οποιεσδήποτε προτάσεις? Βοήθεια!

Δημοσιεύθηκε 25/12/2008 στις 00:24
πηγή χρήστη
Σε άλλες γλώσσες...                            


1 απαντήσεις

ψήφοι
18

Η θέση που έχετε αναφέρονται είναι αρκετά παλιό και ξεπερασμένο. Η 1.0απελευθέρωση του jQuery UIείχε αυτό το θέμα σε ένα ζευγάρι των αρχείων και ορίστηκε μόλις αναφέρθηκε.

Όλα jQuery UI είναι τυλιγμένο σε ένα closureπου περνά σε jQuery, όπως $και ως εκ τούτου μπορούν να χρησιμοποιήσουν $ εσωτερικά, ενώ $ χρησιμοποιείται για κάτι άλλο στο εξωτερικό.

από http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Referencing_Magic_-_Shortcuts_for_jQuery

Χρησιμοποιήστε την ακόλουθη τεχνική, η οποία σας επιτρέπει να χρησιμοποιήσετε $ μέσα σε ένα μπλοκ του κώδικα χωρίς μόνιμη αντικατάσταση $:

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

Σημείωση: Εάν χρησιμοποιήσετε αυτήν την τεχνική, μπορείτε ακόμα να χρησιμοποιήσετε Πρωτότυπο μέσω window.$, π.χ., window.$('some_element_id'). Κάθε λειτουργία έξω από το κλείσιμο σας ότι οι αναφορές $θα επικαλεστεί Πρωτότυπο, ακόμη και αν ονομάζεται από μέσα κλεισίματος σας.

Αυτός είναι ο λόγος που θα δείτε $μέσα στα αρχεία jQuery UI, αλλά να είστε σίγουροι, κάποια πρόσφατη έκδοση jQuery UI (1.5+)υποστηρίζεται πλήρως μεjQuery.noConflict()

Απαντήθηκε 25/12/2008 στις 05:28
πηγή χρήστη

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