Jakie są różnice między jQuery .mouseover()
a .hover()
funkcjami? Jeśli są całkowicie takie same, dlaczego jQuery używa obu?
jquery
mouseevent
Bhojendra Rauniyar
źródło
źródło
el
elementu dochild
i sprawdź konsolęOdpowiedzi:
Z oficjalnej dokumentacji jQuery
.mouseover()
Powiąż procedurę obsługi zdarzeń ze zdarzeniem JavaScript „mouseover” lub wywołaj to zdarzenie w elemencie.
.hover()
Powiąż jeden lub dwa programy obsługi z dopasowanymi elementami, które zostaną wykonane, gdy wskaźnik myszy wejdzie i opuści elementy.Wywołanie
$(selector).hover(handlerIn, handlerOut)
jest skrótem od:$(selector).mouseenter(handlerIn).mouseleave(handlerOut);
.mouseenter()
Powiąż procedurę obsługi zdarzeń, która ma być uruchamiana, gdy mysz wchodzi do elementu, lub wyzwalaj tę procedurę obsługi na elemencie.
mouseover
uruchamia się, gdy wskaźnik przesuwa się również do elementu podrzędnego, natomiastmouseenter
uruchamia się tylko wtedy, gdy wskaźnik przesuwa się do elementu związanego.Co to znaczy
Z tego powodu,
.mouseover()
to nie to samo co.hover()
, z tego samego powodu.mouseover()
jest nie taka sama jak.mouseenter()
.źródło
.hover()
funkcja przyjmuje dwa argumenty funkcji, jeden dlamouseenter
zdarzenia i jeden dlamouseleave
zdarzenia.źródło
Możesz to wypróbować http://api.jquery.com/mouseover/ na stronie dokumentacji jQuery. To ładne, interaktywne demo, które sprawia, że jest bardzo jasne i możesz się o tym przekonać.
Krótko mówiąc, zauważysz, że zdarzenie myszy nad elementem występuje na elemencie, gdy jesteś nad nim - pochodzącym z jego elementu podrzędnego LUB nadrzędnego, ale zdarzenie wejścia myszą występuje tylko wtedy, gdy mysz przesuwa się z elementu nadrzędnego do elementu.
źródło
Z oficjalnej dokumentacji: ( http://api.jquery.com/hover/ )
źródło
Jak możesz przeczytać na http://api.jquery.com/mouseenter/
źródło