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?
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?
Respostas:
.mouseover()
.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);
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, enquanto mouseenter
dispara apenas quando o ponteiro se move para o elemento vinculado.
Por isso, não.mouseover()
é o mesmo que , pela mesma razão não é o mesmo que ..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()
função aceita dois argumentos de função, um para mouseenter
evento e outro para mouseleave
evento.
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.
Dos documentos oficiais: ( http://api.jquery.com/hover/ )
O método .hover () vincula manipuladores para eventos mouseenter e mouseleave. Você pode usá-lo para simplesmente aplicar o comportamento a um elemento durante o tempo em que o mouse está dentro do elemento.
Como você pode ler em http://api.jquery.com/mouseenter/
O evento mouseenter do JavaScript é propriedade do Internet Explorer. Devido à utilidade geral do evento, o jQuery simula este evento para que possa ser usado independentemente do navegador. Este evento é enviado a um elemento quando o ponteiro do mouse entra no elemento. Qualquer elemento HTML pode receber este evento.