Heim  >  Artikel  >  Web-Frontend  >  JQuery simuliert Klickereignisse und löst automatisch Ereignisse aus

JQuery simuliert Klickereignisse und löst automatisch Ereignisse aus

小云云
小云云Original
2017-11-17 11:51:1638840Durchsuche

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 Simulationsvorgänge mit der Methode trigger() abgeschlossen werden. Sie können beispielsweise den folgenden Code verwenden, um das Klickereignis der Schaltfläche mit der ID btn auszulösen. In diesem Artikel erklären wir Ihnen, wie JQuery Klickereignisse simuliert und Ereignisse automatisch auslöst.

 $('#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();

Ein benutzerdefiniertes Ereignis auslösen

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

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

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

$(&#39;#btn&#39;).trigger("myClick");

Daten übergeben

trigger(type[, data]) hat 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 , in Form eines Arrays übergeben. 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(){      
$(&#39;#btn&#39;).bind("myClick", function(event, message1, message2){      
$(&#39;#test&#39;).append( "<p>"+message1 + message2 +"</p>");      
 });      
 $(&#39;#btn&#39;).click(function(){      
 $(this).trigger("myClick",["我的自定义","事件"]);      
}).trigger("myClick",["我的自定义","事件"]);      
 })
Standardoperation ausführen

Nachdem die Methode trigger() ein Ereignis auslöst, wird die Standardoperation des Browsers ausgeführt. 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 Standardeinstellung des Browsers). Betrieb).

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 die Bindung aus Fokusereignis und wird nicht fokussiert.

In diesem Artikel wird hauptsächlich JQuery vorgestellt, um Klickereignisse zu simulieren und Ereignisse automatisch auszulösen. Ich hoffe, dass es für alle hilfreich ist.

Verwandte Empfehlungen:

js simulieren Klickereignisse

js simulieren Klickereignisimplementierungscode_Javascript-Fähigkeiten

Javascript simuliert Klickereignisse (Klicks auf Links und HTML-Klicks), kompatibel mit IE/Firefox_Javascript-Fähigkeiten

Das obige ist der detaillierte Inhalt vonJQuery simuliert Klickereignisse und löst automatisch Ereignisse aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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