Quais são as diferenças entre jQuery .mouseover()
e .hover()
funções? Se eles são totalmente iguais, por que o jQuery usa os dois?
jquery
mouseevent
Bhojendra Rauniyar
fonte
fonte
el
elemento parachild
e verifique o consoleRespostas:
Da documentação oficial do jQuery
.mouseover()
Vincule um manipulador de eventos ao evento JavaScript "mouseover" ou acione esse evento em um elemento.
.hover()
Vincule um ou dois manipuladores aos elementos correspondentes, para serem executados quando o ponteiro do mouse entrar e sair dos elementos.Chamar
$(selector).hover(handlerIn, handlerOut)
é uma abreviatura de:$(selector).mouseenter(handlerIn).mouseleave(handlerOut);
.mouseenter()
Vincule um manipulador de eventos a ser disparado quando o mouse entrar em um elemento ou acione esse manipulador em um elemento.
mouseover
dispara quando o ponteiro se move para o elemento filho também, enquantomouseenter
dispara apenas quando o ponteiro se move para o elemento vinculado.O que isto significa
Por isso, não
.mouseover()
é o mesmo que , pela mesma razão não é o mesmo que ..hover()
.mouseover()
.mouseenter()
fonte
.hover()
função aceita dois argumentos de função, um paramouseenter
evento e outro paramouseleave
evento.fonte
Você pode experimentar http://api.jquery.com/mouseover/ na página de documentos do jQuery. É uma pequena demonstração interativa que deixa tudo muito claro e você pode ver por si mesmo.
Resumindo, você notará que um evento de mouse over ocorre em um elemento quando você está sobre ele - vindo de seu elemento filho OU pai, mas um evento de entrada do mouse ocorre apenas quando o mouse se move do elemento pai para o elemento.
fonte
Dos documentos oficiais: ( http://api.jquery.com/hover/ )
fonte
Como você pode ler em http://api.jquery.com/mouseenter/
fonte