Событие события jQuery для всех слушателей

У меня есть настраиваемое событие, которое я создал, которое я хотел бы вызвать в какой-то момент, не имеющее никакого отношения к выбору.

I.E - Я хотел бы сделать что-то, что будет вести себя как работающий

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

Но документация jQuery предупреждает, что использование универсального селектора очень медленное. Есть ли способ вызвать все объекты, привязанные к определенному событию, без использования универсального селектора $("*")?

Спасибо!

P.S - В настоящее время я использую конкретный class под названием custom_event_listener и использую $('.custom_event_listener').trigger('customEvent'), чтобы избежать использования универсального селектора. Мне интересно, есть ли способ избежать использования class.

Ответы

Ответ 1

Вы можете инициировать событие для всего, что связано с обработчиком:

$.event.trigger('customEvent'); 

Это проходит через $.cache, чтобы найти то, что на самом деле имеет обработчик, затем запускает эти элементы... вместо того, чтобы просто найти каждый элемент и активировать событие на каждом из них.