Metode trigger
Metode trigger ļauj palaist
visas elementam pievienotās notikumu apstrādes funkcijas
noteikta veida notikumiem. Tā izsauc
funkcijas-apstrādes tādā secībā, kādā tās
būtu izsauktas lietotāja.
Ja vēlaties izsaukt notikumu apstrādes funkciju, bet ne
izpildīt standarta notikumu, tad izmantojiet metodi
triggerHandler.
Sintakse
Kā pirmo parametru mēs varam padot notikuma veidu virknes veidā, otro (neobligāto) masīvu vai objektu, kas satur papildu parametrus, lai tos nodotu apstrādes funkcijai:
$(selektors).trigger(notikuma veids, [papildu parametri]);
Kā pirmo parametru var padot notikumu
objekta jQuery.Event veidā:
$(selektors).trigger(notikums, [papildu parametri]);
Pastāv atšķirība starp papildu
parametru nodošanu metodei trigger un datu nodošanu metodei
on.
Pirmajā gadījumā dati ir jādefinē notikuma
izpildes laikā, bet otrajā – jau apstrādes funkcijas
pievienošanas brīdī.
Piemērs
Noklikšķinot uz pogas #first vērtība tiks
palielināta tikai pirmajā span, bet
noklikšķinot uz pogas #second – abos,
vienlaikus imitējot lietotāja klikšķi uz pirmās. Funkcija
increase palielinās par 1 skaitli,
kas tai tiek nodots kā parametrs. Ar
metodes trigger palīdzību mēs liekam izpildīties
arī klikšķa notikumam pirmajā span, kaut
arī noklikšķinām uz pogas #second:
<button id="first">poga1</button>
<button id="second">poga2</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);
}
Skatiet arī
-
metode
on,
kas ļauj pievienot notikumu apstrādes funkciju elementam -
metode
triggerHandler,
kas ļauj palaist visas notikumu apstrādes funkcijas, kas pievienotas elementam -
objekts
event,
kas satur informāciju par notikumu -
metode
submit,
kas ļauj pievienot apstrādes funkciju JavaScript notikumam submit vai izsaukt šo notikumu