Примечание: Все события паб-суб в мой вопрос через он JQuery (в)/триггер()Выполнить обработчик событий в JQuery, если пользовательское событие уже вызвало
У меня есть модуль (так называемый заголовок) в моем приложении, что спусковые пользовательское событие («Заголовок: init») в некоторый момент времени. Это событие будет срабатывать ровно один раз.
Многие другие модули приложения подписываются на это событие. Я хотел бы, чтобы обработчики событий в этих модулях выполнялись, если событие «Заголовок: init» запускалось до присоединения обработчиков. Кроме того, обработчики выполняются так, как ожидалось (один раз заголовок «Заголовок: init»).
Надеюсь, я понятен в том, что мне нужно - функциональность очень похожа на стандартное «готовое» событие jQuery - обработчики выполняются, как только они подключаются, если DOM готов, иначе они выполняются после того, как DOM готов.
Чтобы повторить, «Header: init» запускается ровно один раз.
Как это сделать? Для этого мне не нужны переменные, плавающие вокруг приложения. Ищете чистое решение - желательно, как раз работает готовое мероприятие. Я проверил сайт jQuery для любых перехватчиков событий, предоставленных jQuery для этого, но все в центре событий браузера, таких как клик и т. Д., И нет для пользовательских.
Цените любые указатели.
Edit: Для того, чтобы четко сформулировать требование ...
Время х: Некоторые модуль подписавшись на заголовок: INIT событие имеет код, приведенный ниже, и запускается на выполнение теперь ...
$ (документ) .on ('Заголовок: init', function() {/ * обработчик */ ... });
Время х + 1: Предположим, что модуль Header вызвал событие сейчас (т.е. более поздний момент времени)
$ (документ) .trigger ('Заголовок: INIT');
Мое требование - обработчик все равно должен выполняться.
_ «надеюсь, что я ясно, что я требую» _ Не совсем ; в этой части вопроса: _ «хотели бы, чтобы обработчики событий в этих модулях выполнялись, если событие« Заголовок: init »срабатывало до присоединения обработчиков« _? До каких обработчиков были прикреплены? Может включать 'js' в Question? – guest271314
_ «Время x + 1: предположим, что модуль заголовка вызвал событие (то есть более поздний момент времени) $ (документ) .trigger ('Header: init'); Мое требование - обработчик, который все равно должен выполняться." _ Не обрабатывается ли обработчик с помощью 'js'? Может ли создавать демонстрационные файлы для демонстрации? – guest271314