/ / evento jQuery su tutti gli ascoltatori - jquery

evento jQuery che si attiva su tutti gli ascoltatori - jquery

Ho un evento personalizzato che ho realizzato e che vorrei attivare a un certo punto senza rilevanza per la selezione.

I.E - Mi piacerebbe fare qualcosa che si comporterebbe come in esecuzione

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

Ma la documentazione di jQuery avverte che l'utilizzo del selettore universale è molto lento. Esiste un modo per attivare tutti gli oggetti associati a un evento specifico senza dover utilizzare il selettore universale $("*")?

Grazie!

P.S - Sto attualmente utilizzando uno specifico class chiamato custom_event_listener e usare $(".custom_event_listener").trigger("customEvent") per evitare l'uso di un selettore universale. Mi chiedo se c'è un modo per evitare l'uso di a class.

risposte:

15 per risposta № 1

Puoi attivare un evento su tutto ciò che ha un gestore associato in questo modo:

$.event.trigger("customEvent");

Questo scorre attraverso $.cache per trovare ciò che ha effettivamente un conduttore, poi spara su quegli elementi... piuttosto che trovare ogni elemento e sparando l'evento su ciascuno di essi.