Metoden trigger
Metoden trigger låter dig starta
alla händelsehanterare kopplade till ett element
för händelser av en given typ. Den anropar
hanterarfunktionerna i den ordning som de skulle
ha anropats av användaren.
Om du vill anropa en händelsehanterare men inte
utföra standardhändelsen, använd då metoden
triggerHandler.
Syntax
Som första parameter kan vi skicka händelsetypen som en sträng, den andra (valfri) en array eller ett objekt som innehåller ytterligare parametrar att skicka till hanteraren:
$(selector).trigger(händelsetyp, [ytterligare parametrar]);
Man kan skicka händelsen som första parameter
som ett objekt av jQuery.Event:
$(selector).trigger(händelse, [ytterligare parametrar]);
Det finns en skillnad mellan att skicka ytterligare
parametrar till metoden trigger och data till metoden
on. I
det första fallet måste data definieras vid tidpunkten
för händelseutlösandet, medan i det andra fallet redan vid tidpunkten för bindningen
av hanterarfunktionen.
Exempel
När knappen #first klickas kommer värdet att
ökas endast i den första span-taggen, när
knappen #second klickas - i båda, samtidigt
som den imiterar ett användarklick på den första. Funktionen
increase kommer att öka med 1 talet
som skickas till den som en parameter. Med hjälp av
metoden trigger får vi även klickhändelsen
att utlösas i den första span-taggen, trots att
vi klickar 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 även
-
metoden
on,
som låter dig binda en händelsehanterare till ett element -
metoden
triggerHandler,
som låter dig starta alla händelsehanterare, kopplade till ett element -
objektet
event,
som innehåller information om händelsen -
metoden
submit,
som låter dig binda en hanterare till JavaScript-händelsen submit eller utlösa denna händelse