Od zawsze korzystałem ze mouseover
zdarzenia, ale czytając dokumentację jQuery znalazłem mouseenter
. Wydają się działać dokładnie tak samo.
Czy jest między nimi różnica, a jeśli tak, to kiedy należy ich używać?
(Dotyczy również mouseout
VS mouseleave
).
mouseenter
„występuje tylko wtedy, gdy mysz przesuwa się z elementu nadrzędnego do elementu”. Zdarzenie występuje, gdy mysz zmienia się z zewnątrz elementu do wewnątrz niego. Nie ma znaczenia, z jakiego elementu pochodzi mysz. To prawda, że mysz często będzie pochodzić od rodzica, ale nie zawsze. Np. Jeśli rodzic nie ma wypełnienia ani obramowania, wtedy mysz może wejść prosto od dziadka imouseenter
nadal będzie działać. W rzeczywistości może nawet wejść do elementu spoza rzutni (jeśli element znajduje się tuż przy krawędzi), a zdarzenie nadal jest uruchamiane.