DeeDi - трезвые записки

trigger(event, [data])

Вызывает событие переданное в event для каждого элемента набора.
Это также вызовет выполнение браузером действия по умолчанию для этого события. Например, передача ’submit’ в функцию trigger() спровоцирует также отправку браузером формы. Действие по умолчанию можно предотвратить путем возвращения значение false от одной из функций, связанных с событием.

в jQuery 1.3: Все вызываемые события теперь могут передаваться в пределах дерева DOM. К примеру, если вы вызываете событие на параграфе, то сначала событие выполнится относительно самого параграфа, затем относительно его предка и так далее вверх по иерархии документа. Объект события будет иметь свойство .target, соответствующее первоначальному элементу, для которого вызывалось событие. Подобную передачу можно запретить путем вызова функции stopPropagation() или возвращая false из функции.

На примерах думаю будет понятнее.

Отправляем форму без использования функции submit():

$("form:first").trigger("submit")

Чтобы передать произвольные данные событию:

$("p").bind("myEvent", function (event, message1, message2) {
alert(message1 + ' ' + message2);
});
$("p").trigger("myEvent", ["Hello","World!"]);

Здесь сначала мы связываем обработчик с пользовательским событием myEvent и указываем, что событие будет с произвольными данными message1 и message2. Затем через trigger запускаем событие myEvent и передаем ему в message1 - "Hello", в message2 - "Word".

В следующем примере клик по кнопке #2 вызывает клик по кнопке #1:

0 у кнопки #1 кликов.
0 у кнопки #2 кликов.
<script type="text/javascript">//<![CDATA[
$(document).ready(function (){
$("#example_j button:first").click(function () {
update($("#example_j span:first"));
});
$("#example_j button:last").click(function () {
$("#example_j button:first").trigger('click');
update($("#example_j span:last"));
});
function update(j) {
var n = parseInt(j.text(), 10);
j.text(n + 1);
}
});
//]]></script>
<div id="example_j"> <button>Кнопка #1</button>
<button>Кнопка #2</button>
<div><span>0</span> у кнопки #1 кликов.</div>
<div><span>0</span> у кнопки #2 кликов.</div>
</div>

Боковой текст: