Entfernen der Klasse mit Maus Beenden

8

Ich führe ein on mouseenter / mouseleave mit jQuery durch und es scheint zu funktionieren, aber nicht, wenn ich das div verlasse. Dies funktioniert nur, wenn ich das eigentliche Fenster verlasse.

Das ist meine jQuery

%Vor%

Dies ist mein HTML

%Vor%

Ich habe hier eine Geige gemacht. Ich lerne jQuery, also wird Rat geschätzt.

Ссылка

    
Kirsty Marks 09.07.2015, 13:12
quelle

7 Antworten

3

Ihre Funktion funktioniert perfekt! Das Problem ist die Überlagerung. Du platzierst das Absolute und lässt es den ganzen Körper bedecken. Also ändere dein CSS ein wenig, place .pods und .col relativ.

%Vor%

Fiddle aktualisiert

Das einzige, was ich an Ihrer Funktion ändern würde, ist, beide Ereignisse an denselben Aufrufer zu binden:

%Vor%     
LinkinTED 09.07.2015, 13:29
quelle
3

Ihre Methode ist in Ordnung, aber Sie funktioniert nicht auf mouseleave ist, weil das Overlay über .col und somit mouseleave nie ausgelöst wird. Sie können pointer-events auch verwenden, abgesehen von den anderen Antworten. So etwas Ähnliches

%Vor%

Hier ist die aktualisierte Demo Ссылка

PS: Ich habe den Rand der Überlagerung nur geändert, um die Überlagerungsgrenzen anzuzeigen.

    
Dhiraj 09.07.2015 13:29
quelle
3

Sie können auch hover event wie folgt verwenden:

%Vor%

Und dies ist das Hover-Ereignisdokument

Das Problem ist jedoch nicht die Funktion, sondern das CSS, das der Klasse pod-overlay zugeordnet ist.
Fügen Sie diese zwei Attribute in Ihrem CSS hinzu:

%Vor%     
tektiv 09.07.2015 13:21
quelle
1

Sie könnten reines CSS verwenden

%Vor%     
Hacketo 09.07.2015 13:26
quelle
1

Nun, der Code funktioniert, das Problem ist, dass Sie die gerade auf die ".pods" -Klasse setzen, die die ganze Seite abdecken ... So wird die gerade erst ausgelöst, wenn Sie die Maus aus der Seite

    
Jayo2k 09.07.2015 13:34
quelle
1
  

Lernen jquery, so wird Rat geschätzt.

jQuery wird nicht benötigt, um die Anforderung zu erfüllen. Verwenden Sie css pseudoklasse :hover

%Vor% %Vor%

jsfiddle Ссылка

    
guest271314 09.07.2015 13:37
quelle
0

Das eigentliche Mausereignis, das Sie aufrufen sollten, ist onmouseout

%Vor%     
1lastBr3ath 09.07.2015 13:28
quelle

Tags und Links