Was sind die Unterschiede zwischen jQuery .mouseover()
und .hover()
Funktionen? Wenn sie völlig gleich sind, warum verwendet jQuery beide?
el
Element zur child
Konsole und überprüfen Sie sie
Was sind die Unterschiede zwischen jQuery .mouseover()
und .hover()
Funktionen? Wenn sie völlig gleich sind, warum verwendet jQuery beide?
el
Element zur child
Konsole und überprüfen Sie sie
Antworten:
.mouseover()
.hover()
Binden Sie einen oder zwei Handler an die übereinstimmenden Elemente, die ausgeführt werden, wenn der Mauszeiger
die Elemente betritt und verlässt .
Anrufen $(selector).hover(handlerIn, handlerOut)
ist eine Abkürzung für:
$(selector).mouseenter(handlerIn).mouseleave(handlerOut);
Binden Sie einen Ereignishandler, der ausgelöst werden soll, wenn die Maus ein Element betritt, oder lösen Sie diesen Handler für ein Element aus.
mouseover
wird ausgelöst, wenn sich der Zeiger ebenfalls in das untergeordnete Element bewegt, während er mouseenter
nur ausgelöst wird, wenn sich der Zeiger in das gebundene Element bewegt.
Aus diesem Grunde , .mouseover()
ist nicht das gleiche wie .hover()
, aus dem gleichen Grund .mouseover()
ist nicht wie das gleiche .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()
Die Funktion akzeptiert zwei Funktionsargumente, eines für mouseenter
Ereignis und eines für mouseleave
Ereignis.
Sie können es unter http://api.jquery.com/mouseover/ auf der jQuery-Dokumentseite ausprobieren . Es ist eine nette kleine, interaktive Demo, die es sehr deutlich macht und Sie selbst sehen können.
Kurz gesagt, Sie werden feststellen, dass ein Mouse-Over-Ereignis für ein Element auftritt, wenn Sie sich darüber befinden - entweder von seinem untergeordneten oder übergeordneten Element. Ein Mauseingabeereignis tritt jedoch nur auf, wenn sich die Maus vom übergeordneten Element zum Element bewegt.
Aus den offiziellen Dokumenten: ( http://api.jquery.com/hover/ )
Die .hover () -Methode bindet Handler sowohl für Mouseenter- als auch für Mouseleave-Ereignisse. Sie können es verwenden, um einfach ein Verhalten auf ein Element anzuwenden, während sich die Maus innerhalb des Elements befindet.
Wie Sie unter http://api.jquery.com/mouseenter/ lesen können
Das Mouseenter-JavaScript-Ereignis ist Eigentum von Internet Explorer. Aufgrund des allgemeinen Dienstprogramms des Ereignisses simuliert jQuery dieses Ereignis, sodass es unabhängig vom Browser verwendet werden kann. Dieses Ereignis wird an ein Element gesendet, wenn der Mauszeiger das Element betritt. Jedes HTML-Element kann dieses Ereignis empfangen.