Methode triggerHandler

Die Methode triggerHandler ermöglicht es, alle an ein Element gebundenen Ereignishandler auszulösen. Sie funktioniert ähnlich wie die Methode trigger, aber es gibt Unterschiede zwischen ihnen: Der Ereignishandler wird ausgelöst, aber das Standard- Ereignis wird nicht ausgeführt. Zum Beispiel wird triggerHandler('submit'), wenn es ausgelöst wird, nicht submit aufrufen. Die Methode triggerHandler wirkt nur auf das erste Element im Set. Ereignisse, die durch triggerHandler ausgelöst werden, steigen nicht in der DOM-Element-Hierarchie auf. triggerHandler gibt kein jQuery-Objekt zurück, sondern den Wert, der vom zuletzt aufgerufenen Handler erhalten wurde. Wenn keine Handler ausgelöst werden, gibt es undefined zurück.

Syntax

Als ersten Parameter können wir den Ereignistyp als Zeichenkette übergeben, als zweiten optional ein Array oder Objekt, das zusätzliche Parameter für die Übergabe an den Handler enthält:

javascript$(Selector).triggerHandler(Ereignistyp, [zusätzliche Parameter]);

Es kann als ersten Parameter ein Ereignis in Form eines jQuery.Event-Objekts übergeben werden:

javascript$(Selector).trigger(Ereignis, [zusätzliche Parameter]);

Beispiel

Lassen Sie uns so einrichten, dass beim Klicken auf die Schaltfläche mit #test1 unser Input den Fokus erhält und in der Konsole 'Focused' ausgegeben wird, mit anderen Worten - sowohl der Handler als auch das Fokus-Ereignis werden ausgelöst. Beim Klicken auf die zweite Schaltfläche mit #test2 wird nur der Handler ausgelöst, aber der Input erhält keinen Fokus:

html<button id="test1">button1</button>
<button id="test2">button2</button>
<input type="text">
javascript$('#test1').click(function() {
  $('input').trigger('focus');
});

$('#test2').click(function() {
  $('input').triggerHandler('focus');
});

$('input').focus(function() {
  console.log('Focused')
});

Siehe auch

  • die Methode trigger,
    die es ermöglicht, alle an ein Element gebundenen Ereignishandler für Ereignisse eines bestimmten Typs auszulösen
  • die Methode on,
    die es ermöglicht, einen Ereignishandler an ein Element zu binden