2013-06-26 13 views
13

ho questo piccolo codice jquery in esecuzione su jQuery 1.10.1, quello che voglio fare è fondamentalmente il log di console sugli eventi al passaggio del mouse su libretto sulla classe li dash_item, ma funziona solo quando faccio clic sull'elemento, non sul passaggio del mousejquery hover funziona solo sull'evento click?

CODICE:

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

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

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

il jsfiddle è qui http://jsfiddle.net/JQAw3/

+2

Funziona su hover per me , usando Chrome, quale browser stai usando? –

+0

im usando chrome aswell, tuttavia ho appena provato su mozilla e funziona, questo è molto strano – unknown

+0

Funziona per me su firefox – ODelibalta

risposta

0

è possibile provare la funzione jQuery hover(). Richiede un gestore e un gestore esterno.

+1

Il metodo .hover() associa i gestori per gli eventi mouseenter e mouseleave. Puoi usarlo per applicare semplicemente il comportamento a un elemento durante il tempo in cui il mouse si trova all'interno dell'elemento. In altre parole, non c'è differenza. – j08691

+0

Lo so ma è una funzione più semplice aggiungere imo. – CWitty

+0

@CWitty quindi dovrebbe essere un commento, non una risposta :) –

0

funziona bene con hover

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

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

Come per la risposta di CWitty, il passaggio del mouse è solo una scorciatoia per mouseenter e mouseleave. – j08691

+0

Sì, sono d'accordo, ma è meno codice. Dal momento che vuole gestire entrambi i casi qui. – AntouanK

34

sembra essere un bug di Google Chrome che può accadere quando si dispone di un sito web aperto per un lungo periodo di tempo, tra cui gli strumenti Dev.

Ho avuto gli stessi problemi, ho provato tutto quello che potevo.

Alla fine, un semplice riavvio del browser ha aiutato.

Forse è anche abbastanza se si apre semplicemente il sito Web in un'altra scheda.

Edit 2015/06/15: ho incontrato questo problema ogni volta che sto lavorando su mouseenter e mouseleave in Chrome. Per me, è decisamente sufficiente chiudere la scheda e aprire il sito Web in un'altra.

+1

Non sembra sufficiente per aprirsi in un'altra scheda. Ho dovuto uccidere il browser. Grazie! –

+4

Il riavvio confermato ha funzionato. Ho perso un'ora su questo, ma probabilmente mi hai salvato un giorno! –

+1

Che ha funzionato ... così strano! – iluvpinkerton

0

Lasciando questo qui nel caso in cui qualcun altro inciampa in questo. All'inizio del 2015 questa è ancora una "feature" in chrome/cromo dove, se la pagina viene vista come un file (NON servito da un server web) gli eventi di posizione del mouse come mouseenter, mouseleave, mouseover, ecc. Non si attivano. Non so se quello era il problema dell'OP, ma era mio quando mi sono imbattuto in questo.

0

No non lo fa - stessi problemi con hover come mouseenter

ho avuto strumenti di sviluppo aperte per qualche tempo

Aperta la pagina in firefox e ha funzionato