Почему Javascript отбрасывает события keyUp, когда метатекст нажат на Mac-браузерах? - программирование
Подтвердить что ты не робот

Почему Javascript отбрасывает события keyUp, когда метатекст нажат на Mac-браузерах?

В браузерах Mac javascript не получает события для клавиш для большинства клавиш (другие ключи-модификаторы кажутся исключением), когда метакада не работает. Используйте этот jsfiddle для демонстрации (сфокусируйте область результатов и попробуйте что-то вроде cmd + x, x не получит событие keyup): http://jsfiddle.net/mUEaV/

Я воспроизвел это в стабильных версиях для Chrome, FF, Safari и Opera. То же самое не происходит с управляющим ключом в Windows 7.

Является ли ОС захватом события keyup? Это кажется особенно странным, поскольку команды, которые используют метаки, такие как сохранение, поиск, вырезание, копирование и т.д., Все активируются при нажатии клавиш не на клавиатуре и могут быть захвачены javascript просто отлично.

4b9b3361

Ответ 1

Является ли окно браузера сохраняющим фокус при нажатии этих клавиш? В окнах вы можете получить аналогичный результат при нажатии windows+R или CTRL+ESC и подобных комбинаций клавиш, которые заставляют браузер потерять фокус, а это приводит к пропущенным событиям.