Methode trigger
Die Methode trigger ermöglicht es,
alle Ereignishandler auszulösen, die an ein Element
für Ereignisse eines bestimmten Typs gebunden sind. Sie ruft
die Handler-Funktionen in der Reihenfolge auf, in der sie
vom Benutzer aufgerufen worden wären.
Wenn Sie einen Ereignishandler aufrufen möchten, aber nicht
das Standardereignis ausführen wollen, dann verwenden Sie die Methode
triggerHandler.
Syntax
Als ersten Parameter können wir den Ereignistyp als Zeichenkette übergeben, als zweiten (optionalen) ein Array oder Objekt, das zusätzliche Parameter zur Übergabe an den Handler enthält:
$(Selektor).trigger(Ereignistyp, [zusätzliche Parameter]);
Man kann als ersten Parameter ein Ereignis
als Objekt jQuery.Event übergeben:
$(Selektor).trigger(Ereignis, [zusätzliche Parameter]);
Es gibt einen Unterschied zwischen der Übergabe zusätzlicher
Parameter an die Methode trigger und Daten an die Methode
on. Im
ersten Fall müssen die Daten zum Zeitpunkt der
Ereignisausführung definiert sein, im zweiten Fall bereits zum Zeitpunkt der Bindung
der Handler-Funktion.
Beispiel
Beim Klick auf die Schaltfläche #first wird der Wert
nur in der ersten Span erhöht, beim
Klick auf die Schaltfläche #second - in beiden, wobei
gleichzeitig ein Benutzerklick auf der ersten simuliert wird. Die Funktion
increase wird die um 1 erhöhen, die
ihr als Parameter übergeben wird. Mithilfe
der Methode trigger bewirken wir, dass
auch das Klickereignis in der ersten Span ausgelöst wird, obwohl
wir auf die Schaltfläche #second drücken:
<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);
}
Siehe auch
-
Methode
on,
die es ermöglicht, einen Ereignishandler an ein Element zu binden -
Methode
triggerHandler,
die es ermöglicht, alle an ein Element gebundenen Ereignishandler auszulösen -
Objekt
event,
das Informationen über das Ereignis enthält -
Methode
submit,
die es ermöglicht, einen Handler an das JavaScript-Ereignis submit zu binden oder dieses Ereignis auszulösen