¿Cuáles son las diferencias entre jQuery .mouseover()
y .hover()
funciones? Si son totalmente iguales, ¿por qué jQuery usa ambos?
¿Cuáles son las diferencias entre jQuery .mouseover()
y .hover()
funciones? Si son totalmente iguales, ¿por qué jQuery usa ambos?
Respuestas:
.mouseover()
.hover()
Vincula uno o dos controladores a los elementos coincidentes, para que se ejecuten cuando el puntero del mouse
entre y salga de los elementos.
Llamar $(selector).hover(handlerIn, handlerOut)
es una abreviatura de:
$(selector).mouseenter(handlerIn).mouseleave(handlerOut);
Vincula un controlador de eventos para que se active cuando el mouse ingresa a un elemento, o activa ese controlador en un elemento.
mouseover
Se activa cuando el puntero se mueve también hacia el elemento secundario, mientras mouseenter
que solo se activa cuando el puntero se mueve hacia el elemento vinculado.
Por esto, no.mouseover()
es lo mismo que .hover()
, por la misma razón no.mouseover()
es lo mismo que .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()
La función acepta dos argumentos de función, uno para mouseenter
evento y otro para mouseleave
evento.
Puede probarlo http://api.jquery.com/mouseover/ en la página de documentación de jQuery. Es una pequeña demostración interactiva que lo deja muy claro y que realmente puedes verlo por ti mismo.
En resumen, notará que se produce un evento de mouse sobre un elemento cuando está sobre él, proveniente de su elemento secundario O primario, pero un evento de entrada del mouse solo ocurre cuando el mouse se mueve del elemento principal al elemento.
De los documentos oficiales: ( http://api.jquery.com/hover/ )
El método .hover () vincula controladores para eventos mouseenter y mouseleave. Puede usarlo para simplemente aplicar el comportamiento a un elemento durante el tiempo que el mouse está dentro del elemento.
Como puede leer en http://api.jquery.com/mouseenter/
El evento de JavaScript mouseenter es propiedad de Internet Explorer. Debido a la utilidad general del evento, jQuery simula este evento para que pueda usarse independientemente del navegador. Este evento se envía a un elemento cuando el puntero del mouse ingresa al elemento. Cualquier elemento HTML puede recibir este evento.