2013-06-26 19 views
13

Mam ten mały kod jquery uruchomiony na jquery 1.10.1, co chcę zrobić, to w zasadzie log konsoli zdarzeń hover na zawieszeniu nad li class dash_item, ale działa tylko wtedy, gdy klikam element, a nie na hoverHook jquery działa tylko w przypadku kliknięcia?

KOD:

$(document).ready(function(){ 
    $('.dash_item').on({ 

     mouseenter: function(){ 
     console.log("im here"); 
     }, 

     mouseleave: function(){ 
     console.log("im out"); 
     } 
    }); 
}); 

jsfiddle jest tutaj http://jsfiddle.net/JQAw3/

+2

działa na najechaniu na mnie , używając Chrome, jakiej przeglądarki używasz? –

+0

im również używać chrome, jednak po prostu próbowałem na mozilla i działa, to bardzo dziwne – unknown

+0

To działa dla mnie na firefox – ODelibalta

Odpowiedz

0

można wypróbować funkcję aktywowania jQuery(). Zajmuje handlerIn i handlerOut.

+1

Metoda .hover() wiąże procedury obsługi zdarzeń mouseenter i mouseleave. Możesz go użyć, aby po prostu zastosować zachowanie do elementu w czasie, gdy mysz znajduje się w elemencie. Innymi słowy, nie ma różnicy. – j08691

+0

Wiem, ale łatwiej jest dodać imo. – CWitty

+0

@CWitty to powinno być komentarzem, a nie odpowiedzią :) –

0

współpracuje z zawisu

http://jsfiddle.net/blackjim/JQAw3/4/

$('.dash_item').hover(
    function() { 
     console.log("im here"); 
    }, 
    function() { 
     console.log("im out"); 
    } 
); 
+0

Podobnie jak w przypadku odpowiedzi CWitty, hover jest skrótem dla mouseenter i mouseleave. – j08691

+0

Tak, zgadzam się, ale to mniej kodu. Ponieważ chce tu załatwić oba przypadki. – AntouanK

34

Wydaje się być bug Google Chrome, które mogą się zdarzyć, gdy masz stronę internetową otwarte przez dłuższy czas, w tym narzędzi Dev.

Miałem te same problemy, próbowałem wszystkiego, co mogłem.

Na koniec ułatwiono proste ponowne uruchomienie przeglądarki.

Może to również wystarczy, jeśli po prostu otworzysz stronę w innej zakładce.

Edycja 15.06.2015: I napotkać ten problem za każdym razem pracuję nad mouseenter i mouseleave w Chrome. Dla mnie zdecydowanie wystarczy zamknąć kartę i otworzyć stronę internetową w innej.

+1

Wygląda na to, że nie wystarczy otworzyć w innej karcie. Musiałem zabić przeglądarkę. Dziękuję Ci! –

+4

Potwierdzony restart zadziałał. Zmarnowałam na to godzinę, ale prawdopodobnie uratowałeś mi dzień! –

+1

To działało ... To dziwne! – iluvpinkerton

0

Zostawiając to tutaj na wypadek, gdyby ktoś inny natknął się na to. Na początku 2015 roku jest to nadal "funkcja" w chrome/chromium, gdzie jeśli strona jest wyświetlana jako plik (NIE jest serwowany z serwera WWW) zdarzenia związane z pozycją myszy, takie jak mouseenter, mouseleave, mouseover, itp. Nie są uruchamiane. Nie wiem, czy to był problem z OP, ale był mój, gdy natknąłem się na to.

0

Nie to nie - same problemy z zawisu jak mouseenter

miałem narzędzi programistycznych otwarte przez jakiś czas

otworzył stronę w Firefoksie i to działało

Powiązane problemy