Heim >Web-Frontend >js-Tutorial >So brechen Sie ein Hover-Ereignis in JQuery ab
So brechen Sie das Hover-Ereignis in jquery ab: 1. Binden Sie ein Click-and-Hover-Ereignis an das Tag a. 2. Verwenden Sie den Befehl „$('a').unbind('mouseenter').unbind('mouseleave'); " Methode zum Abbrechen Binden Sie einfach das Hover-Ereignis.
Die Betriebsumgebung dieses Artikels: Windows7-System, JQuery-Version 3.2.1, DELL G3-Computer
Wie breche ich das Hover-Ereignis in JQuery ab?
Der richtige Weg, um den Hover abzubrechen und zu binden Ereignis in jquery
auf der Webseite Im Design verwenden wir häufig jquery, um auf Maus-Hover-Ereignisse zu reagieren, die den gleichen Effekt haben wie Mouseover- und Mouseout-Ereignisse, aber wie kann man bind verwenden, um die Hover-Methode zu binden? Wie verwende ich Unbind, um die Bindung eines Ereignisses aufzuheben?
1. So binden Sie das Hover-Ereignis
Angenommen, wir binden ein Click-and-Hover-Ereignis an das a-Tag:
$(document).ready(function(){ $('a').bind({ hover: function(e) { // Hover event handler alert("hover"); }, click: function(e) { // Click event handler alert("click"); } }); });
Wenn auf das a-Tag geklickt wird, passiert etwas Seltsames Das Hover-Ereignis reagiert überhaupt nicht, aber das gebundene Klick-Ereignis reagiert normal.
Aber wenn Sie es anders schreiben, wie zum Beispiel:
$("a").hover(function(){ alert('mouseover'); }, function(){ alert('mouseout'); })
Dieser Code kann nicht normal ausgeführt werden. Binde-Bind-Hover funktioniert nicht.
Tatsächlich nein, stattdessen sollten die beiden Ereignisse Mouseenter und Mouseleave verwendet werden (dies ist auch das Ereignis, das in der Funktion .hover() verwendet wird)
Es kann also direkt wie folgt zitiert werden:
$(document).ready(function(){ $('a').bind({ mouseenter: function(e) { // Hover event handler alert("mouseover"); }, mouseleave: function(e) { // Hover event handler alert("mouseout"); }, click: function(e) { // Click event handler alert("click"); } }); });
Weil .hover( ) ist Das von jQuery selbst definierte Ereignis dient lediglich dazu, Benutzern das Binden und Aufrufen von Mouseenter- und Mouseleave-Ereignissen zu erleichtern. Es handelt sich nicht um ein echtes Ereignis und kann daher natürlich nicht als Ereignisparameter in .bind() aufgerufen werden.
2. So brechen Sie das Hover-Ereignis ab:
Jeder weiß, dass Sie gebundene Ereignisse mit der Unbind-Funktion abbrechen können. Das Hover-Ereignis in jquery ist jedoch etwas ganz Besonderes Auf diese Weise gebundene Veranstaltungen können nicht abgesagt werden.
$("a").hover(function(){ alert('mouseover'); }, function(){ alert('mouseout'); })
Der richtige Weg, das gebundene Hover-Ereignis abzubrechen:
$('a').unbind('mouseenter').unbind('mouseleave');
3. Tatsächlich können Sie sich für diese Probleme auf die offizielle Dokumentation von jquery beziehen, aber nur wenige Leute haben sie gelesen Erklären Sie nur, wie diese Methode verwendet wird, und enden Sie erst, wenn das Ziel erreicht ist. Es gibt jedoch kein tiefes Verständnis dafür, warum sie so geschrieben ist.
Empfohlenes Lernen: „JQuery-Video-Tutorial
“Das obige ist der detaillierte Inhalt vonSo brechen Sie ein Hover-Ereignis in JQuery ab. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!