Запіс на курсы па HTML, CSS, JavaScript, PHP, Python, фрэймворкам і CMS,
а таксама: дапамога ў пошуку працы і заказаў, стажыроўка на рэальных праектах→
101 of 119 menu

Метад 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,
    які дазваляе прывязаць апрацоўшчык падзей да элемента
byenru