Meetod trigger
Meetod trigger võimaldab käivitada
kõik elemendiga seotud sündmuste töötlejad
määratud tüüpi sündmuste jaoks. See kutsub
välja töötlejafunktsioonid samas järjekorras, milles need
oleksid kasutaja poolt käivitatud.
Kui soovite käivitada sündmuste töötleja, kuid mitte
käivitada standardset sündmust, siis kasutage meetodit
triggerHandler.
Süntaks
Esimese parameetrina saame edastada sündmuse tüübi stringina, teise (valikulise) massiivi või objekti, mis sisaldab täiendavaid parameetreid edastamiseks töötlejale:
$(selektor).trigger(sündmuse tüüp, [täiendavad parameetrid]);
Esimese parameetrina saab edastada sündmuse
objektina jQuery.Event:
$(selektor).trigger(sündmus, [täiendavad parameetrid]);
Erinevus on täiendavate
parameetrite edastamisel meetodile trigger ja andmete edastamisel meetodile
on.
Esimesel juhul peavad andmed olema määratletud sündmuse
toimumise ajal, teisel juhul aga juba töötleja
funktsiooni sidumise hetkel.
Näide
Nuppu #first vajutades suureneb
väärtus ainult esimeses spanis,
nuppu #second vajutades - mõlemas, samal ajal
imitveerides esimesel kasutaja klõpsu. Funktsioon
increase suurendab 1 võrra numbrit,
mis talle edastatakse parameetrina. Abiga
meetodist trigger paneme tööle
ka klõpsusündmuse esimeses spanis, kuigi
vajutame nuppu #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);
}
Vaata ka
-
meetod
on,
mis võimaldab siduda sündmuste töötleja elemendiga -
meetod
triggerHandler,
mis võimaldab käivitada kõik sündmuste töötlejad, seotud elemendiga -
objekt
event,
mis sisaldab teavet sündmuse kohta -
meetod
submit,
mis võimaldab siduda töötleja JavaScripti sündmusele submit või käivitada seda sündmust