2009-04-05 10 views
13

Mam wyświetlone okno dialogowe i chciałbym, aby zostało ono ponownie ukryte po naciśnięciu klawisza escape.Przechwyć hasło "Escape" w przeglądarce WebKit Browsers

Wszystko działa poprawnie w IE, Fx, Opera - kod rejestruje obsługę zdarzeń document.onkeypress, gdy pole jest wyświetlane, a następnie testuje klucz zdarzenia, aby sprawdzić, czy jest to klawisz Escape, czy nie (keyCode 27), ale nie działa to w przeglądarkach opartych na WebKit (Chrome i Safari (3)), ale inne klucze mogą być przechwytywane w ten sposób.

Czy przeglądarki WebKit nie uruchamiają zdarzenia po naciśnięciu klawisza escape?

Czy ktoś wie, dlaczego to nie działa, jak to naprawić lub wiedzieć o obejściu.

Odpowiedz

24

Catch keydown/keyup zamiast tego. Aby uzyskać więcej informacji, zobacz this entry.

+0

świetny link, dziękuję – PeterJCLaw

+1

Dzięki - użyłem 'keypress' z tym samym problemem. Przełączono na 'keyup' i teraz działa świetnie. –