# Метод triggerHandler

Метод `triggerHandler` позволяет запустить все обработчики событий, привязанные к элементу. Он работает аналогично методу `trigger`, но между ними существуют отличия: Обработчик событий сработает, но стандартное событие не будет вызвано. К примеру `triggerHandler('submit')`, сработав, не вызовет `submit`. Метод `triggerHandler` действует только на первый элемент в наборе. События, запущенные `triggerHandler` не в сплывают в иерархии DOM-элементов. `triggerHandler` не возвращает объект jQuery, он возвращает значение, полученное последним вызванным обработчиком. Если никакие обработчики не запускаются, то возвращает `undefined`.

## Синтаксис

В качестве первого параметра мы можем передать тип события в виде строки, вторым необязательным массив или объект, содержащим дополнительные параметры для передачи обработчику:

`$(селектор).triggerHandler(тип события, [дополнительные параметры]);`

Можно первым параметром передать событие в виде объекта `jQuery.Event`:

`$(селектор).trigger(событие, [дополнительные параметры]);`

## Пример

Давайте сделаем так, что при нажатии на кнопку с `#test1` наш инпут получит фокус и в консоли выведется `'Focused'`, другими словами - сработает и функция-обработчик и событие фокуса. При нажатии на вторую кнопку с `#test2` сработает только функция-обработчик, но инпут не получит фокус:

`<button id="test1">button1</button> <button id="test2">button2</button> <input type="text">` `$('#test1').click(function() { $('input').trigger('focus'); }); $('#test2').click(function() { $('input').triggerHandler('focus'); }); $('input').focus(function() { console.log('Focused') });`

## Смотрите также

- метод `trigger`,
  который позволяет запустить все обработчики событий, привязанные к элементу для событий заданного типа
- метод `on`,
  который позволяет привязать обработчик событий к элементу

←→
↑