Methode trigger
De methode trigger maakt het mogelijk om
alle gebeurtenisafhandelaars die aan het element zijn gekoppeld
voor gebeurtenissen van het opgegeven type uit te voeren. Het roept
de afhandelingsfuncties aan in de volgorde waarin ze
door de gebruiker zouden worden aangeroepen.
Als u een gebeurtenisafhandelaar wilt activeren, maar niet
de standaard gebeurtenis wilt uitvoeren, gebruik dan de methode
triggerHandler.
Syntaxis
Als eerste parameter kunnen we het gebeurtenistype doorgeven als een string, als tweede (optioneel) een array of object dat extra parameters bevat om door te geven aan de afhandelaar:
$(selector).trigger(gebeurtenistype, [extra parameters]);
Het is mogelijk om als eerste parameter een gebeurtenis
door te geven in de vorm van een jQuery.Event object:
$(selector).trigger(gebeurtenis, [extra parameters]);
Er is een verschil tussen het doorgeven van extra
parameters aan de trigger methode en gegevens aan de
on methode. In
het eerste geval moeten de gegevens gedefinieerd zijn op het moment
van uitvoering van de gebeurtenis, en in het tweede geval al op het moment van het binden
van de afhandelingsfunctie.
Voorbeeld
Bij het klikken op knop #first wordt de waarde
alleen in de eerste span verhoogd, bij
het klikken op knop #second - in beide, waarbij
er op de eerste een gebruikersklik wordt gesimuleerd. De functie
increase verhoogt het getal dat
aan haar wordt doorgegeven als parameter met 1. Met behulp van
de methode trigger zorgen we ervoor dat
ook de klikgebeurtenis in de eerste span wordt geactiveerd, hoewel
we op knop #second drukken:
<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);
}
Zie ook
-
methode
on,
die het mogelijk maakt een gebeurtenisafhandelaar aan een element te binden -
methode
triggerHandler,
die het mogelijk maakt alle gebeurtenisafhandelaars, die aan het element zijn gebonden, uit te voeren -
object
event,
dat informatie over de gebeurtenis bevat -
methode
submit,
die het mogelijk maakt een afhandelaar te binden aan een JavaScript submit-gebeurtenis of deze gebeurtenis te activeren