Znalazłem dziwne zachowanie zdarzenia jQuery click
. Jeśli korzystamy z nawigacji po klawiaturze (przypadek dostępności), kliknięcie jest uruchamiane przez Enter lub spację (zależy to od tego, którego elementu HTML używamy).jQuery mouse's .click() jest uruchamiany przez nawigację klawiaturową
Jest stronę testową na jsfiddle, może próbować poruszać się za pomocą klawiatury w ramce rezultacie, a następnie kliknij przycisk zostanie uruchomiony w różnych sytuacjach:
W instrukcji jQuery, znalazłem następujący opis click zdarzenie:
"Zdarzenie click jest wysyłane do elementu, gdy wskaźnik myszy znajduje się nad elementem, a naciśnięcie i zwolnienie przycisku myszy może spowodować odebranie tego elementu."
Czy to normalne? Jak przechwycić tylko zdarzenia kliknięcia myszą, jeśli jest to normalne zachowanie?
Tak, interakcja z klawiaturą, jak używanie karty do nawigacji, a następnie ENTER wywoła zdarzenie click ... ponieważ jest to skrót klawiaturowy do zachowania mousedown/mouseup dla kliknięcia – devnull69
Wow. Jeśli ta logika jest zdefiniowana w jQuery lub na poziomie przeglądarki? –
Wszystkie główne przeglądarki w systemie Windows robią to domyślnie w tym przykładzie (IE9, FF, Ch, Sa). Zmieniłem także obsługę zdarzeń z jQuery na zwykły javascript, a zachowanie jest takie samo, więc powinno być miarą przeglądarki. –