2013-08-05 20 views
7

Questa domanda è relativa informazioni. Sono nuovo di jQuery. Sono piuttosto esperto in HTML & CSS.Mouseover v/s hover in Jquery

Qual è la differenza tra Hover & Mouseover in Jquery. Non sono entrambi attivati ​​quando si passa il mouse su un elemento.

+1

Hai letto la documentazione? – SLaks

risposta

6

La funzione hover() è più di alto livello - è costruita per chiamare le funzioni per gestire sia un evento mouseenter che un evento di mouseleave. È molto conveniente per un elemento dell'interfaccia utente con hover e stato normale (ad esempio un pulsante.)

La funzione mouseover() si collega in particolare all'evento mouseover. È meglio per le situazioni in cui ti interessa solo quando il mouse ha attraversato il confine in un elemento e non ti interessa davvero cosa succede se lascia. È anche la funzione da chiamare quando si desidera attivare l'evento su qualche elemento.

SPIEGAZIONE DA: http://www.quora.com/jQuery/What-is-the-difference-between-the-hover-and-mouseover-functions

9

passaggio del mouse(): eventi del fuoco per i figli di quell'elemento.

hover(): Hover in realtà lavora con mouseenter e mouseleave senza sparare per i bambini.

per ottenere un effetto hover, abbiamo bisogno sia mouseover e mouseout evento

$("element").mousover(function(){ 
    //do something over 
}).mouseout(function() { 
    //do something out 
}); 

mentre in hover() è solo una chiamata indietro.

$("element").hover(
    function() { 
    //do something enter 
    }, 
    function() { 
    //do something exit 
    } 
); 

Da David Jones di experience:

Nel progetto su cui stavo lavorando ho installazione di un div contenitore per utilizzare mouseover e mouseout che ha aggiunto alcuni schede html al contenitore. Questo mi è sembrato perfetto, ma ho scoperto che usare mouseover/mouseout significava che l'html aggiunto rimaneva scomparendo quando ho provato ad interagire con esso insieme all'altra jquery che avevo sul posto che era in conflitto con esso.

Alla fine il mio particolare soluzione necessaria me di utilizzare MouseEnter e mouseLeave con la funzione dal vivo piuttosto che utilizzare hover perché ho lavoravo con HTML generato.