19.4.7. Реализация собственных событий

We use cookies. Read the Privacy and Cookie Policy

Система управления событиями в библиотеке jQuery создана на основе стандартных событий, таких как щелчки мышью или нажатия клавиш, генерируемых веб-броузерами. Но она не ограничивается только этими событиями и позволяет использовать любую строку в качестве имени типа события. Метод bind() позволяет регистрировать обработчики таких «нестандартных событий», а метод trigger() - вызывать эти обработчики.

Такая разновидность косвенного вызова обработчиков нестандартных событий может оказаться весьма полезной при разработке модулей и реализации модели издатель/подписчик или шаблона Observer (наблюдатель). Зачастую при использовании собственных событий может оказаться полезной возможность возбуждать их глобально, с помощью функции jQuery.event.trigger() вместо метода trigger():

// Когда пользователь щелкнет на кнопке "logoff", отправить собственное событие

// всем подписанным на него наблюдателям, которые должны сохранить информацию

// о своем состоянии, и затем перейти на страницу выхода.

$("#logoff").click(function() {

  $.event.trigger("logoff"); // Отправить широковещательное событие

  window.location = "logoff.php"; // Перейти на другую страницу

});

В разделе 19.6.4 вы узнаете, что методы поддержки архитектуры Ajax в библиотеке jQuery аналогичным образом рассылают широковещательные события заинтересованным приемникам.