Próbuję zaimplementować funkcję naciśnięcia klawisza, która usunie element div, gdy użytkownik trafi na Esc
. Działa to dla Firefoksa & IE z następującego kodu:"keypress" jQuery nie działa dla niektórych kluczy w Chrome. Jak obejść?
$("body").keypress(function(e) {
alert("any key pressed");
if (e.keyCode == 27) {
alert("escape pressed");
}
});
Gdybym uderzyć dowolny klawisz, pojawi się pierwszy alert
, a jeśli uderzę Ucieczka, wyświetlany jest także drugi alert
.
To nie działa z Chrome. Pierwszy alert
jest zawsze wyświetlany, gdy uderzę w któryś z klawiszy literowych, ale nie po naciśnięciu Escape, Tab, Space ani żadnej z liczb.
Dlaczego miałoby to być? Czy istnieje sposób, aby Chrome zareagował na te naciśnięcia klawiszy?
To jest [znany błąd] (https://bugs.chromium.org/p/chromium/issues/detail?id=9061) Chrome. W maju 2016 r. Programista stwierdził, że ich zachowanie pasuje do specyfikacji i [nie naprawi tego] (https://bugs.chromium.org/p/chromium/issues/detail?id=9061#c15). – Sheepy