13

У меня появилось диалоговое окно, и я бы хотел, чтобы он снова был скрыт, когда вы нажимаете клавишу escape.Захват «Escape» Keypress в браузерах WebKit

Что все отлично работает в IE, Fx, Opera - код регистрирует обработчик события document.onkeypress, когда отображается это поле, а затем проверяет ключевой код события, чтобы увидеть, является ли это ключ-побег или нет (keyCode 27), но это не работает в браузерах на основе WebKit (Chrome и Safari (3)), хотя другие ключи могут быть захвачены таким образом.

Не убеждаете ли браузеры WebKit запускать какое-либо событие при нажатии кнопки Escape?

Кто-нибудь знает, почему это не работает, как исправить это, или знать обход.

ответ

24

Захват keydown/keyup вместо этого. Взгляните на this entry для получения дополнительной информации.

+0

отличная ссылка, спасибо – PeterJCLaw

+1

Спасибо - я использовал 'keypress' с той же проблемой. Переключился на 'keyup', и теперь он отлично работает. –