Метад 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 ці запускаць гэтую падзею