.triggerHandler() — выполнение всех обработчиков событий
.triggerHandler() — вызывает выполнение обработчиков заданного события у выбранных элементов. Cамо событие, при этом, не происходит.
Метод также выполнит любой метод, вызываемый on{eventType}() найденный на элементе.
.triggerHandler( eventType [, extraParameters ] )
- eventType — строка с названием JavaScript события. Например, click или submit.
- extraParameters — массив с дополнительными параметрами, которые будут переданы в обработчик
Метод .triggerHandler() работает почти так же, как метод .trigger(), с несколькими отличиями:
- Метод не будет запускать событие для элементов, обработчик которого вызывается. Например, при вызове обработчика события отправки формы
.triggerHandler( "submit" )само событие.submit()вызвано не будет. - В то время как
.trigger()действует на все подходящие элементы в объекте jQuery,.triggerHandler()срабатывает только для первого найденного элемента. - Событие, указанное в
.triggerHandler(), не всплывает по DOM-дереву, так как событие не генерируется. Следовательно, делегированные обработчики не выполняются. - Метод
.triggerHandler()возвращает значение, полученное из последнего запущенного обработчика. Если ни один обработчик не запущен, метод возвращаетundefined.
Пример
Если методом .triggerHandler() мы вызовем событие .focus(), то стандартное поведение браузера не сработает, а запустятся только обработчики.
[codepen_embed height=»300″ theme_id=»0″ slug_hash=»LdpBLx» default_tab=»js,result» user=»AmateR»]See the Pen LdpBLx by Aleksei (@AmateR) on CodePen.[/codepen_embed]