Какие коды клавиш доступны для JavaScript? Если они не одинаковы для всех браузеров, укажите коды клавиш для каждого браузера.
Какие коды клавиш доступны для JavaScript? Если они не одинаковы для всех браузеров, укажите коды клавиш для каждого браузера.
Ответы:
keyCodes отличаются от значений ASCII. Полную справку по ключевому коду см. На http://unixpapa.com/js/key.html.
Например, числа на цифровой клавиатуре имеют коды клавиш 96–105, что соответствует началу строчного алфавита в ASCII. Это может привести к проблемам при проверке числового ввода.
Последовал совету @pimvdb и создал свой:
http://daniel-hug.github.io/characters/
Будьте терпеливы, так как создание элемента для каждого из 65536 символов, имеющих код клавиши JavaScript, занимает несколько секунд.
Мне нужно было что-то подобное для пользовательского интерфейса конфигурации управления игрой, поэтому я составил список кодов клавиш стандартной раскладки клавиатуры США и сопоставил их с соответствующими именами клавиш.
Вот скрипка, которая содержит карту для кода -> имя и наоборот: http://jsfiddle.net/vWx8V/
Если вы хотите поддерживать другие раскладки клавиш, вам необходимо изменить эти карты, чтобы приспособить их отдельно.
То есть, если вы не искали список значений кода клавиш, который включал управляющие символы и другие специальные значения, которые невозможно (или редко) вводить с клавиатуры и которые могут выходить за рамки событий keydown
/ keypress
/ keyup
Javascript. Многие из них являются управляющими или специальными символами, такими как null
( \0
), и, скорее всего, они вам не понадобятся.
Обратите внимание, что количество клавиш на полной клавиатуре меньше, чем многие значения кода клавиши.
Это приложение просто потрясающее. По сути, это виртуальная клавиатура, которая сразу показывает код, нажатый на стандартной американской клавиатуре.
Вот полный список - я считаю: http://www.cambiaresearch.com/articles/15/javascript-char-codes-key-codes
Вот несколько полезных ссылок:
Второй столбец - это keyCode, а столбец html показывает, как он будет отображаться. Вы можете проверить это здесь .
Один из возможных ответов будет дан, когда вы запустите этот фрагмент.
document.write('<table>')
for (var i = 0; i < 250; i++) {
document.write('<tr><td>' + i + '</td><td>' + String.fromCharCode(i) + '</td></tr>')
}
document.write('</table>')
td {
border: solid 1px;
padding: 1px 12px;
text-align: right;
}
table {
border-collapse: collapse;
}
* {
font-family: monospace;
font-size: 1.1em;
}