Метад triggerHandler

Метад triggerHandler дазваляе запусціць усе апрацоўшчыкі падзей, прывязаныя да элемента. Ён працуе аналагічна метаду trigger, але паміж імі існуюць адрозненні: Апрацоўшчык падзей спрацуе, але стандартная падзея не будзе выклікана. Напрыклад triggerHandler('submit'), спрацаваўшы, не выкліча submit. Метад triggerHandler дзейнічае толькі на першы элемент у наборы. Падзеі, запушчаныя triggerHandler не ў сплываюць у іерархіі DOM-элементаў. triggerHandler не вяртае аб'ект jQuery, ён вяртае значэнне, атрыманае апошнім выкліканым апрацоўшчыкам. Калі ніякія апрацоўшчыкі не запускаюцца, то вяртае undefined.

Сінтаксіс

У якасці першага параметра мы можам перадаць тып падзеі ў выглядзе радка, другім неабавязковым масіў або аб'ект, які змяшчае дадатковыя параметры для перадачы апрацоўшчыку:

javascript$(селектар).triggerHandler(тып падзеі, [дадатковыя параметры]);

Можна першым параметрам перадаць падзею ў выглядзе аб'екта jQuery.Event:

javascript$(селектар).trigger(падзея, [дадатковыя параметры]);

Прыклад

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

html<button id="test1">button1</button>
<button id="test2">button2</button>
<input type="text">
javascript$('#test1').click(function() {
  $('input').trigger('focus');
});

$('#test2').click(function() {
  $('input').triggerHandler('focus');
});

$('input').focus(function() {
  console.log('Focused')
});

Глядзіце таксама

  • метад trigger,
    які дазваляе запусціць усе апрацоўшчыкі падзей, прывязаныя да элемента для падзей зададзенага тыпу
  • метад on,
    які дазваляе прывязаць апрацоўшчык падзей да элемента