events - custom - Crea un plugin, expone eventos
jquery plugin methods and options (2)
¿Cómo expongo eventos a mis usuarios de complementos?
Sé que debería usar:
$(''#myPluginDiv'').trigger(''eventName'', ["foo", "bar"]);
para activar el evento, pero estoy buscando las mejores prácticas que describen cómo declarar e invocar eventos en complementos.
en el complemento crear objetos literarios como
var plugin = {
show:function(){
// code for show()
}
};
Creo que puede inspeccionar algunos de los complementos más utilizados y hacer sus propias suposiciones. No tenemos estándares en esto, solo convención de código.
Colorbox (fuente: https://github.com/jackmoore/colorbox/blob/master/jquery.colorbox.js ) define un prefijo y algunas constantes para los nombres de los eventos. También tiene una función para activar y ejecutar las devoluciones de llamada.
jQuery UI (fuente: https://github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.widget.js ) también tiene una función común en la clase de widget para desencadenar eventos (uso: https: //github.com/jquery/jquery-ui/blob/master/ui/jquery.ui.dialog.js ), pero se puede ver que los eventos están codificados en el medio de la fuente, en lugar de las constantes en la parte superior como en Colorbox.
Personalmente creo, y lo hago en mis propios complementos, que la creación de constantes es mucho mejor si tienes que desencadenar muchos eventos, pero no es necesario si disparas solo 2 o 3 eventos.
Una función auxiliar es imprescindible y debe ser parte de su plantilla.
Los nombres de eventos que utilizo y veo en general siguen el CamelCase estándar, por ejemplo, beforeClose
.
Algunos recomiendan el uso de un prefijo para eventos como el de cbox_open
de Colorbox o incluso click.myPlugin
(ver: http://api.jquery.com/on/#event-names )
Conclusión: trate de seguir las mejores prácticas y convenciones para la programación en general y esté atento a los mejores ejemplos que existen.