Metoden trigger
Metoden trigger lar deg starte
alle hendelseshåndterere knyttet til et element
for hendelser av angitt type. Den kaller
håndteringsfunksjonene i den rekkefølgen de ville
blitt kalt av brukeren.
Hvis du vil kalle en hendelseshåndterer, men ikke
utføre standardhendelsen, bruk metoden
triggerHandler.
Syntaks
Som første parameter kan vi sende hendelsestypen som en streng, som andre parameter (valgfri) en matrise eller et objekt som inneholder tilleggsparametere for å sende til håndtereren:
$(selector).trigger(hendelsestype, [tilleggsparametere]);
Man kan sende hendelsen
som et objekt jQuery.Event som første parameter:
$(selector).trigger(hendelse, [tilleggsparametere]);
Det er en forskjell mellom å sende tilleggs-
parametere til metoden trigger og data til metoden
on. I
det første tilfellet må data være definert på tidspunktet
hendelsen utføres, mens i det andre tilfellet allerede på tidspunktet for binding
av håndteringsfunksjonen.
Eksempel
Ved klikk på knappen #first vil verdien
økes bare i den første span-en, ved
klikk på knappen #second - i begge, mens
den imiterer et brukerklikk på den første. Funksjonen
increase vil øke med 1 tallet
som sendes til den som en parameter. Ved hjelp av
metoden trigger får vi også hendelsen ved klikk til å utløse
i den første span-en, selv om
vi trykker på knappen #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);
}
Se også
-
metoden
on,
som lar deg binde en hendelseshåndterer til et element -
metoden
triggerHandler,
som lar deg starte alle hendelseshåndterere, knyttet til et element -
objektet
event,
som inneholder informasjon om hendelsen -
metoden
submit,
som lar deg binde en håndterer til JavaScript-hendelsen submit eller starte denne hendelsen