Ad esempio, sto osservando il sorgente jCalendar e il creatore ha due parti diverse del plugin, una funzione sotto "jQuery.jcalendar" e un'altra "jQuery.fn.jcalendar". Qual è lo scopo di avere i due separati? Cosa si fa rispetto all'altro?jQuery Plugin Authoring: perché alcuni fanno jQuery.pluginName e altri jQuery.fn.pluginName?
5
A
risposta
10
nome jQuery.fn.mypluging estende oggetti jQuery:
$(selector); //a jquery object
$(selector).myplugin();
jQuery.myplugin estende l'oggetto jquery stesso:
$; //the jQuery object
$.myPlugin();
Con l'aggiunta di plugin per il vostro jQuery.fn si può fare roba da gli oggetti trovati da quel selettore:
jQuery.fn.makeRed = function(){
this.each(function() {
$(this).css('color', 'red');
}
}
$('div.someClass').makeRed(); //makes all divs of class someclass have red text
Estendere l'oggetto jQuery stesso è di solito ne per le funzioni di cui la classe ha bisogno ma che non estendono gli oggetti jQuery. Quindi, per estendere il nostro esempio precedente:
jQuery.fn.doStuff = function(){
this.each(function() {
$(this).css('color', 'red')
.append($.doStuff.giveMeRandom());
}
}
jQuery.doStuff = {
giveMeRandom: function() {
return Math.random();
}
}
$('div.someClass').doStuff(); //makes all divs of class someclass have red text and append a random number to them
Problemi correlati
- 1. Perché alcuni metodi hanno .prototype e altri no?
- 2. Perché mongodb sembra salvare alcuni oggetti binari e non altri?
- 3. Perché alcuni array possono essere pubblicati ma non altri?
- 4. jquery form.serialize e altri parametri
- 5. Perché i compressori js non lo fanno?
- 6. Perché alcuni includono in Django le stringhe e altri nomi variabili?
- 7. All'interno del motore regex di vim, perché alcuni metacaratteri sono sfuggiti e altri no?
- 8. Perché Jpeg è accettato nella clausola uses in alcuni progetti e in altri vcl.imaging.jpeg è richiesto?
- 9. Perché il ping funziona su alcuni dispositivi e non su altri?
- 10. Emoji su MySQL e PHP: perché alcuni simboli si altri no?
- 11. Perché alcuni moduli si autoinviano facendo clic sul pulsante Invio e altri no?
- 12. jQuery - plugin opzioni di default estendere()
- 13. Alcuni plugin jQuery non funzionano con la nuova versione della libreria jquery
- 14. Estendere picEdit Plugin Jquery
- 15. Django user.is_authenticated funziona alcuni luoghi, non altri
- 16. SFINAE: alcuni fallimenti più uguali degli altri?
- 17. Due classi che fanno riferimento gli uni agli altri
- 18. jQuery Plugin Namespacing Functions
- 19. I selettori di classe JQuery come $ (. SomeClass) fanno distinzione tra maiuscole e minuscole?
- 20. Perché gli intervistatori fanno domande avanzate?
- 21. Cosa fanno helper e helper_method?
- 22. Perché [] === [] (e altri) restituiscono false in javascript?
- 23. Plugin JQuery (datatables) con Webpack e Typescript
- 24. jQuery token Plugin di input (e focus)
- 25. Perché alcuni siti usano jquery con $ j invece di solo $?
- 26. '__exidx_start' e '__exidx_end' cosa fanno?
- 27. faces-redirect e il pulsante back fanno sì che altri link funzionino in modo errato
- 28. jQuery Validation & Form Plugin
- 29. maven-dependency-plugin, copy-dependencies: esclude alcuni id artefatti e le loro dipendenze
- 30. fonte jQuery SlideShow plugin