Quali sono le differenze tra jQuery .mouseover()
e .hover()
functions? Se sono totalmente uguali perché jQuery li usa entrambi?
Quali sono le differenze tra jQuery .mouseover()
e .hover()
functions? Se sono totalmente uguali perché jQuery li usa entrambi?
Risposte:
.mouseover()
.hover()
Associa uno o due gestori agli elementi corrispondenti, da eseguire quando il puntatore del mouse
entra e esce dagli elementi.
La chiamata $(selector).hover(handlerIn, handlerOut)
è una scorciatoia per:
$(selector).mouseenter(handlerIn).mouseleave(handlerOut);
Associa un gestore di eventi da attivare quando il mouse entra in un elemento o attiva quel gestore su un elemento.
mouseover
si attiva anche quando il puntatore si sposta nell'elemento figlio, mentre si mouseenter
attiva solo quando il puntatore si sposta nell'elemento associato.
Per questo motivo , non.mouseover()
è lo stesso di , per lo stesso motivo non è lo stesso di ..hover()
.mouseover()
.mouseenter()
$('selector').mouseover(over_function) // may fire multiple times
// enter and exit functions only called once per element per entry and exit
$('selector').hover(enter_function, exit_function)
.hover()
funzione accetta due argomenti di funzione, uno per mouseenter
evento e uno per mouseleave
evento.
Puoi provarlo http://api.jquery.com/mouseover/ nella pagina della documentazione di jQuery. È una piccola demo interattiva che lo rende molto chiaro e puoi effettivamente vedere di persona.
In breve, noterai che un evento di passaggio del mouse si verifica su un elemento quando ci sei sopra - proveniente dal suo elemento figlio O genitore, ma un evento di inserimento del mouse si verifica solo quando il mouse si sposta dall'elemento padre all'elemento.
Dai documenti ufficiali: ( http://api.jquery.com/hover/ )
Il metodo .hover () lega i gestori sia per gli eventi mouseenter che per gli eventi mouseleave. Puoi usarlo per applicare semplicemente il comportamento a un elemento durante il tempo in cui il mouse si trova all'interno dell'elemento.
Come puoi leggere su http://api.jquery.com/mouseenter/
L'evento JavaScript mouseenter è proprietario di Internet Explorer. A causa dell'utilità generale dell'evento, jQuery simula questo evento in modo che possa essere utilizzato indipendentemente dal browser. Questo evento viene inviato a un elemento quando il puntatore del mouse entra nell'elemento. Qualsiasi elemento HTML può ricevere questo evento.