Heim  >  Artikel  >  Web-Frontend  >  So brechen Sie ein Hover-Ereignis in JQuery ab

So brechen Sie ein Hover-Ereignis in JQuery ab

藏色散人
藏色散人Original
2021-11-11 09:11:425062Durchsuche

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.

So brechen Sie ein Hover-Ereignis in JQuery ab

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!

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