События клавиатуры
Есть три основных события клавиатуры: keydown
, keypress
и keyup
.
При нажатии клавиши сначала происходит keydown
, после чего keypress
и только потом keyup
, когда клавишу отжали.
События keydown
и keyup
срабатывают при нажатии любой клавиши, включая служебные. А вот keypress
срабатывает, только если нажата символьная клавиша, т. е. нажатие приводит к появлению символа. Управляющие клавиши, такие как Ctrl
, Shift
, Alt
и другие, не генерируют событие keypress
.
KeyboardEvent.key и KeyboardEvent.code
Свойство KeyboardEvent.key
доступно для чтения и возвращает значение клавиши, нажатой пользователем, принимая во внимание состояние клавиш модификаторов, таких как shiftKey
, а так же текущий язык и модель клавиатуры.
Свойство KeyboardEvent.code
представляет собой физическую клавишу на клавиатуре (в отличие от символа, сгенерированного нажатием клавиши). Другими словами, это свойство возвращает значение, которое не изменяется с помощью раскладки клавиатуры или состояния клавиш-модификаторов.
Поставьте фокус в окно примера, кликнув в него мышкой, отслеживание событий клавиатуры стоит на элементе window
. Вводите символы на клавиатуре и результат будет отображаться в списке.
Last updated