.triggerHandler() – выполнение всех обработчиков событий

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

Метод также выполнит любой метод, вызываемый on{eventType}() найденный на элементе.

.triggerHandler( eventType [, extraParameters ] )
  • eventType – строка с названием JavaScript события. Например, click или submit.
  • extraParameters – массив с дополнительными параметрами, которые будут переданы в обработчик

Метод .triggerHandler() работает почти так же, как метод .trigger(), с несколькими отличиями:

  1. Метод не будет запускать событие для элементов, обработчик которого вызывается. Например, при вызове обработчика события отправки формы .triggerHandler( "submit" ) само событие .submit() вызвано не будет.
  2. В то время как .trigger() действует на все подходящие элементы в объекте jQuery, .triggerHandler() срабатывает только для первого найденного элемента.
  3. Событие, указанное в .triggerHandler(), не всплывает по DOM-дереву, так как событие не генерируется. Следовательно, делегированные обработчики не выполняются.
  4. Метод .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]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *