Шаг 46.
Библиотека jQuery.
Имитация действий пользователя

    На этом шаге мы рассмотрим способ активизации заданных обработчиков.

    Иногда бывает необходимо выполнить программный код, который подключен к обработке события, даже если это событие не возникает. Например, предположим, нам требуется, чтобы переключатель стилей изначально находился в свернутом состоянии. Этого можно было бы добиться, скрыв кнопки с помощью таблицы стилей или вызвав метод .hide() из обработчика $(document).ready(). Другой способ заключается в имитации щелчка в пределах переключателя стилей, вызывающего срабатывание уже установленного механизма переключения.

    Осуществить это можно с помощью метода .trigger():

   $('#switcher').click(function() {
       $('#switcher .button').toggleClass('hidden');
   });
   $('#switcher').trigger('click');


   Примечание. Обратите внимание на тот факт, что метод .trigger() располагается после реализации метода .click(). В противном случае метод .trigger() не сработает!

Рис.1. Переключатель стилей изначально свернут

Полный текст этого примера можно взять здесь.

    Теперь переключатель стилей сворачивается сразу после загрузки страницы (рисунок 1), как если бы в его пределах был выполнен щелчок мышью. Если бы нам потребовалось предусмотреть сокрытие содержимого, когда в браузере отключена поддержка JavaScript, было бы разумно использовать прием постепенной деградации функциональных возможностей.

    Для метода .trigger() предоставляется тот же набор сокращенных аналогов, что и для метода .bind(). При вызове этих аналогов без аргументов вместо подключения обработчика запускается событие:

   $('#switcher').click(function() {
       $('#switcher').click();
   });

    На следующем шаге мы рассмотрим события клавиатуры.




Предыдущий шаг Содержание Следующий шаг