Разве это не все ответы на вопрос «какая клавиша была нажата?» Что делать, если во время выполнения код javascript хочет знать, удерживается ли в данный момент клавиша на клавиатуре?
это работает нормально для буквенных символов, но как насчет точек / скобок и других типографических символов?
VoVaVc
6
@VoVaVc: Для них тоже работает. Решающая вещь использует keypressсобытие, которое дает вам код символа, а не keyupили keydownкоторые дают вам код ключа.
Тим Даун,
2
@aljgom, e.keyвсе еще не имеет полной поддержки браузером.
Энди Мерсер
1
Не работает для символов, которые нужно нажать Shift, например!
Разве это не почти точная копия ответа @Coyod 2009 года?
Крис Ф. Кэрролл,
1
Одна из моих любимых библиотек, позволяющая сделать это сложным образом, - Mousetrap .
Он поставляется с множеством плагинов, одним из которых является recordплагин, который может определять последовательность нажатых клавиш.
Пример:
<script>function recordSequence(){Mousetrap.record(function(sequence){// sequence is an array like ['ctrl+k', 'c']
alert('You pressed: '+ sequence.join(' '));});}</script><button onclick="recordSequence()">Record</button>
event.key
прямо даст вам нажатый символОтветы:
«Очистить» JavaScript:
JQuery:
источник
keypress
событие, которое дает вам код символа, а неkeyup
илиkeydown
которые дают вам код ключа.e.key
все еще не имеет полной поддержки браузером.Здесь миллион дубликатов этого вопроса, но все равно здесь снова:
Лучшая справочная информация о ключевых событиях, которую я видел, - http://unixpapa.com/js/key.html .
источник
Более свежие и более чистые: используйте
event.key
. Больше никаких произвольных цифровых кодов!Если вы хотите убедиться, что введены только одиночные символы, отметьте
key.length === 1
или это один из ожидаемых символов.Документы Mozilla
Поддерживаемые браузеры
источник
Пытаться:
* Примечание: это работает в «Фрагменте кода выполнения»
Этот веб-сайт делает то же, что и мой код выше: Keycode.info
источник
Используйте это:
источник
источник
Одна из моих любимых библиотек, позволяющая сделать это сложным образом, - Mousetrap .
Он поставляется с множеством плагинов, одним из которых является
record
плагин, который может определять последовательность нажатых клавиш.Пример:
источник
источник