/ / jQuery evento desencadenante en todos los oyentes - jquery

Evento jQuery que se activa en todos los oyentes - jQuery

Tengo un evento personalizado que he realizado y me gustaría desencadenar en algún momento sin relevancia para la selección.

I.E - Me gustaría hacer algo que se comportaría como correr

$("*").trigger("customEvent");

Pero la documentación de jQuery advierte que el uso del selector universal es muy lento. ¿Hay una manera de activar todos los objetos que están vinculados a un evento específico sin tener que usar el selector universal? $("*")?

¡Gracias!

P.S - Estoy usando actualmente un específico class llamado custom_event_listener y use $(".custom_event_listener").trigger("customEvent") Para evitar el uso de un selector universal. Me pregunto si hay una manera de evitar el uso de un class.

Respuestas

15 para la respuesta № 1

Puede desencadenar un evento en todo lo que tenga un controlador enlazado de esta manera:

$.event.trigger("customEvent");

Esto recorre $.cache para encontrar lo que realmente tiene un controlador, luego dispara sobre esos elementos... en lugar de solo encontrar cada Elemento y encendido del evento en cada uno.