Heim  >  Artikel  >  Web-Frontend  >  JQuerys Methode zum automatischen Auslösen von events_jquery

JQuerys Methode zum automatischen Auslösen von events_jquery

WBOY
WBOYOriginal
2016-05-16 15:55:151594Durchsuche

Das Beispiel in diesem Artikel beschreibt, wie JQuery automatisch Ereignisse auslöst. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:

Gemeinsame Simulationen

Manchmal ist es notwendig, Benutzervorgänge zu simulieren, um den Klickeffekt zu erzielen. Beispielsweise wird nach dem Betreten der Seite durch den Nutzer das Klickereignis ausgelöst, ohne dass der Nutzer aktiv klicken muss.

In JQuery können Sie die Methode trigger() verwenden, um Simulationsvorgänge abzuschließen. Sie können beispielsweise den folgenden Code verwenden, um das Klickereignis der Schaltfläche mit der ID btn auszulösen.

$('#btn').trigger("click");

Auf diese Weise wird beim Laden der Seite sofort der gewünschte Effekt ausgegeben. Sie können click() auch direkt abkürzen, um den gleichen Effekt zu erzielen:

$('#btn').click();

Benutzerdefiniertes Ereignis auslösen

Die Methode

trigger() kann nicht nur Ereignisse mit demselben Namen auslösen, die vom Browser unterstützt werden, sondern auch Ereignisse mit benutzerdefinierten Namen. Um beispielsweise ein „myClick“-Ereignis an ein Element zu binden, lautet der JQuery-Code wie folgt:

$('#btn').bind("myClick", function(){ 
  $('#test').append("<p>我的自定义事件.</p>"); 
});

Um dieses Ereignis auszulösen, können Sie den folgenden Code verwenden:

$('#btn').trigger("myClick");

Passdaten

Die Methode

trigger(type[,data]) verfügt über zwei Parameter. Der erste Parameter ist der auszulösende Ereignistyp und der zweite Parameter sind die zusätzlichen Daten, die an die Ereignisverarbeitungsfunktion übergeben werden sollen ein Array. Sie können normalerweise unterscheiden, ob dieses Ereignis durch Code oder Benutzer ausgelöst wird, indem Sie einen Parameter an die Rückruffunktion übergeben.

Das Folgende ist ein Beispiel für die Weitergabe von Daten.

$(function(){ 
 $('#btn').bind("myClick", function(event, message1, message2){ 
     $('#test').append( "<p>"+message1 + message2 +"</p>");
 }); 
 $('#btn').click(function(){ 
  $(this).trigger("myClick",["我的自定义","事件"]); 
 }).trigger("myClick",["我的自定义","事件"]); 
})

Standardaktion ausführen

Nachdem die Methode trigger() ein Ereignis auslöst, wird der Standardvorgang des Browsers ausgeführt. Zum Beispiel:

$("input").trigger("focus");

Der obige Code löst nicht nur das an das d5fd7aea971a85678ba271703566ebfd gebundene Fokusereignis aus, sondern bewirkt auch, dass das d5fd7aea971a85678ba271703566ebfd-Element selbst den Fokus erhält (dies ist die Standardoperation des Browsers).

Wenn Sie nur das gebundene Fokusereignis auslösen möchten, ohne die Standardoperation des Browsers auszuführen, können Sie eine andere ähnliche Methode in jQuery verwenden – die Methode triggerHandler().

$("input").triggerHandler("focus");

Diese Methode löst das spezifische Ereignis aus, das an das d5fd7aea971a85678ba271703566ebfd-Element gebunden ist, und bricht gleichzeitig die Standardoperation des Browsers für dieses Ereignis ab, d. h. das Textfeld löst nur das gebundene Fokusereignis aus und empfängt nicht Fokus.

Ich hoffe, dass dieser Artikel für alle bei der jQuery-Programmierung hilfreich sein wird.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn