Метод trigger

Метод trigger позволяет запустить все обработчики событий, привязанные к элементу для событий заданного типа. Он вызывает функции-обработчики в том порядке, в котором они бы вызывались пользователем. Если вы хотите вызвать обработчик событий, но не выполнять стандартное событие, то воспользуйтесь методом triggerHandler.

Синтаксис

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

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

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

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

Есть разница между передачей дополнительных параметров методу trigger и данных в метод on. В в первом случае данные должны быть определены во время выполнения события, а во втором уже на момент превязки функции-обработчика.

Пример

При нажатии на кнопку #first значение будет увеличиваться только в первом спане, при нажатии на кнопку #second - в обоих, при этом имитируя на первой клик пользователя. Функция increase будет увеличивать на 1 число, передаваемое ей в качестве параметра. При помощи метода trigger мы заставляем срабатывать также событие по клику и в первом спане, хотя нажимаем на кнопку #second:

<button id="first">button1</button> <button id="second">button2</button> <div><span>0</span></div> <div><span>0</span></div> button { margin: 10px; } div { margin-left: 10px; font-weight: bold; } span { color: green; } $('#first').click(function() { increase($('span').first()); }); $('#second').click(function() { $('#first').trigger('click'); increase($('span').last()); }); function increase(str) { let num = parseInt(str.text(), 10); num.text(num + 1); }

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

  • метод on,
    который позволяет привязать обработчик событий к элементу
  • метод triggerHandler,
    который позволяет запустить все обработчики событий, привязанные к элементу
  • объект event,
    который содержит информацию о событии
  • метод submit,
    который позволяет позволяет привязывать обработчик к JavaScript событию submit или запускать это событие