Ich habe das mouseover
Ereignis immer verwendet , aber beim Lesen der jQuery-Dokumentation habe ich gefunden mouseenter
. Sie scheinen genau gleich zu funktionieren.
Gibt es einen Unterschied zwischen den beiden und wenn ja, wann sollte ich sie verwenden?
(Gilt auch für mouseout
vs mouseleave
).
mouseenter
"nur auftritt, wenn sich die Maus vom übergeordneten Element zum Element bewegt". Das Ereignis tritt auf, wenn die Maus von außerhalb des Elements zu innerhalb des Elements wechselt. Es spielt keine Rolle, von welchem Element die Maus stammt. Es ist wahr, dass die Maus oft vom Elternteil kommt, aber nicht immer. Wenn der Elternteil beispielsweise keine Polsterung oder Umrandung hat, kann die Maus direkt vom Großelternteil eintreten undmouseenter
wird trotzdem feuern. Tatsächlich kann das Element sogar von außerhalb des Ansichtsfensters eingegeben werden (wenn sich das Element direkt am Rand befindet), und das Ereignis wird weiterhin ausgelöst.