Суббота, 27.04.2024, 22:08
Меню сайта
Категории раздела
JQuery плагины [59]
JQuery уроки [69]
PHP полезное [24]
PHP уроки [21]
Css [26]
JS [3]
SQL [9]
Css 3 [17]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » Статьи » JQuery уроки

.trigger()

Вызывает событие у выбранных элементов, что приводит к запуску обработчиков этого события. Метод имеет два варианта использования:

.trigger(eventType, [extraParameters]):jQueryv:1.0

eventTypeтип вызываемого события. Например "click", "resize" и.т.д. (список всех событий см. ниже).
extraParameters массив дополнительных данных, передаваемых в обработчик.


Позволяет повторно запустить событие из обработчика текущего события. Может быть полезно при необходимости вызывать событие через определенные периоды времени.

eventObjectобъект обрабатываемого события, который был передан в обработчик.

Простой пример:

// установим обработчик нажатия кнопки мыши на элементе foo
$('#foo').bind('click', function(){
 alert('Шла Саша по шоссе')
});
 
// вызовем событие нажатия на элемент, что приведет к выполнению обработчика
$('#foo').trigger('click');


Надо отметить, что вызов события методом trigger() не полностью повторяет событие, произошедшее по естественным причинам. Например вызов события "click" применительно к ссылке, не приведет к переходу по ней.

Если вам необходимо только вызвать обработчики событий, без выполнения самого события, воспользуйтесь методом triggerHandler().

О типах событий можно посмотреть в описании метода bind().

Передача дополнительных данных

Метод позволяет передавать дополнительные данные в обработчик, с помощью необязательного параметра extraParameters. Этот параметр должен быть задан массивом. В методе, эти данные будут доступны во втором, третьем и.т.д. параметрах (по одному дополнительному параметру на каждый элемент массива). Первый параметр, в любом обработчике событий занят объектом события.

Рассмотрим пример передачи дополнительных данных:

// зададим обработчик с двумы дополнительными параметрами
$('#foo').bind('custom', function(event, param1, param2){
 alert(param1 + "\n" + param2);
});
 
// вызовем событие методом trigger, в результате будет запущен наш обработчик
$('#foo').trigger('custom', ['Custom', 'Event']); // вторым параметром передан массив с двумя строками


Отметим разницу между дополнительными данными, передаваемыми при установке обработчика событий (параметр eventData) и данными передаваемыми при вызове события методом trigger() (параметр extraParameters). Во-первых, есть смысловое отличие: eventData задается один раз для каждого обработчика, поэтому, при каждом вызове, он будет получать одно и то же значение. Параметр extraParameters задается для каждого отдельного вызова заново, и поэтому значения могут быть разными. Во-вторых, эти два вида данных доступны внутри обработчика различным способом:

// зададим обработчик
$('#foo').bind('custom', {otherParam:'uha-ha!'}, function(event, param1, param2){
 alert(param1 + "\n" + param2); // так осуществляется доступ к данным extraParameters
 alert(event.data.otherParam); // а так к данным eventData
});
 
// вызовим событие методом trigger, в результате будет запущен наш обработчик
$('#foo').trigger('custom', ['Custom', 'Event']);





Категория: JQuery уроки | Добавил: ChronoW (26.04.2013)
Просмотров: 823 | Теги: jquery trigger(), .trigger() | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: