Метод trigger
используется для вызова обработчиков событий вручную. Например, вызвав метод trigger для нужного элемента
мы можем также и вызвать обработчик события. Он имеет следующие варианты использования:
trigger('событие')
: вызов обработчика для данного события
trigger(объект_Event)
: вызов обработчика с использованием объекта Event, который содержит данные о том, какой именно обработчик надо вызвать
Посмотрим на примере. Допустим, у нас есть таблица и есть два кнопки на форме, которые используют обработчики таблицы:
<body> <table> <tr><td>Слово</td><td>Перевод</td></tr> <tr><td>Cabbage</td><td>Капуста</td></tr> <tr><td>Carrot</td><td>Морковь</td></tr> <tr><td>Potato</td><td>Картофель</td></tr> <tr><td>Tomato</td><td>Помидор</td></tr> </table> <br> <button>Выделить</button> <button>Снять выделение</button> <script type="text/javascript"> $(function(){ $('table').on('mouseenter', 'tr', function(e){ $(this).css('background-color', 'silver'); }).on('mouseout', 'tr', function(e){ $(this).css('background-color', 'white'); }); $('button').first().bind('click', function(){ $('tr').trigger('mouseenter'); }); $('button').last().bind('click', function(){ $('tr').trigger('mouseout'); }); }); </script> </body>
Во-первых, у нас уже определены обработчики для строк таблицы для событий mouseenter
и mouseout
. Затем у нас определены
обработчики для двух кнопок. Поскольку первая кнопка предназначена для выделения строк таблицы, по ее нажатию вызывается обработчик
события mouseenter, определенный для строк таблицы. А по нажатию второй кнопки - обработчик события mouseout.