Zdarzenie mousemove jest uruchamiane podczas przewijania, nawet jeśli mysz nie została przeniesiona na chrome
Próbowałem odpowiedzieć na problem z niestandardowym rozwijaniem, ale kwestionowałem niespójne zachowanie w Chrome i FF.
PRÓBNY: http://jsfiddle.net/fyeht/ [Dodano zdarzenie przewijania dla większej przejrzystości]
Zobacz poniższy obrazek. Elementy listy można nawigować za pomocą klawiszy strzałek.
Aby odtworzyć problem:
Otwórz konsolę w Chrome (F12)Kliknij element na liście (zauważysz, że niektóre zdarzenia są rejestrowane w konsoli)Użyj klawisza strzałki w dół, aby przejść do następnego elementu na liścieWreszcie problem jest zauważany po dotarciu do ostatniego elementu w widoku i naciśnięcie strzałki w dół spowoduje przewinięcie. Sprawdź dziennik, aby zobaczyć „przewiń”, „wprowadź mysz” i „przesuń mysz” [sprawdź nowe demo]Problem pojawia się po dotarciu do końca wyświetlanych elementów, przewija się. Nawet jeśli mysz jest nietknięta, uruchamia sięmouseenter
imousemove
wydarzenia w Chrome. W FF, na przewijaniu uruchamia tylkomouseenter
które mają sens.
Pytania):
Dlaczego jestmousemove
wyzwalane, gdy mysz jest nietknięta?Czy to tylko niespójność przeglądarki? Nie można znaleźć dokumentacji dotyczącej zdarzeń wyzwalanych podczas przewijania? (nigdy nie wiedział, że to zrobił)Wysłano zgłoszenie błędu:https://code.google.com/p/chromium/issues/detail?id=241476