2010-11-11 18 views
9

Come si espongono eventi agli utenti del mio plug-in?Creare un plug-in, esporre eventi


so che dovrei usare:

$('#myPluginDiv').trigger('eventName', ["foo", "bar"]); 

per attivare l'evento, ma sto cercando le migliori pratiche che descrivono come dichiarare e invocare gli eventi in plugins.

risposta

0

Penso che si possa esaminare alcuni dei plugin più utilizzati e fare le proprie ipotesi. Non abbiamo standard su questo, solo convenzione sul codice.

Colorbox (origine: https://github.com/jackmoore/colorbox/blob/master/jquery.colorbox.js) definisce un prefisso e alcune costanti per i nomi degli eventi. Ha anche una funzione per l'attivazione e l'esecuzione dei callback.

jQuery UI (fonte: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js) hanno anche una funzione comune sulla classe widget di per innescare eventi (utilizzo: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js), ma si può vedere che gli eventi sono codificati in mezzo alla fonte, invece di costanti su la parte superiore è simile a Colorbox.

Personalmente penso, e lo faccio nei miei plugin, che creare costanti è molto meglio se si innescano molti eventi, ma non è necessario se si attivano solo 2 o 3 eventi.

Una funzione di supporto è un must e deve far parte del modello.

I nomi degli eventi che uso e che guardiamo in giro seguono lo standard CamelCase ad es. beforeClose.

Alcuni sostengono l'uso di un prefisso per eventi come su di Colorbox cbox_open o anche click.myPlugin (vedi: http://api.jquery.com/on/#event-names)

Conclusione: cercare di seguire le best practice e le convenzioni per la programmazione in generale, e guardare per gli esempi migliori là fuori .

-1

nel plugin di creare litereal oggetto come

var plugin = { 
    show:function(){ 
// code for show() 
} 


}; 
+0

Mi chiedevo delle best practice per l'esposizione e la pubblicazione di eventi. Il tuo codice non segue nemmeno il pattern del plugin jQuery. – jgauffin

Problemi correlati