Как сейчас обрабатывать события клавиатуры?
Прочитал в книге про события клавиатуры. Единого стандарта как и ожидалось нет. То одно работает там то другое не работает здесь...
События keydown и keyup понял как обрабатывать. Свойства keyCode и charCode уже не активны. Вместо них используется свойство key. С этим понятно.
Также посмотрел что событие keypress как бы не активно. В книге описано что замена для этого события textInput. Срабатывает только в редактируемой области. Попробовал свойство data. Возвращает введенный символ. Остальные свойства не работают. Погуглил про это событие, но ничего не нашел. Как будто его и нет вовсе.
В общем как на данный момент обрабатывать события клавиатуры? Какие события прослушивать? Как обрабатывать ввод текста?
Проясните ситуацию, а то запутался уже.
OVK2015: Конкретно сейчас привести пример не могу, каша в голове от этих свойств.
Как я понял, сейчас в стандарте рекомендованы лишь события keydown/keyup, а также свойство key, определяющее нажатую клавишу. Так это? Достаточно будет этого?
Например проверить включен ли capslock. Достаточно ли будет такой проверки?:
if (event.key.toLowerCase() == event.key.toUpperCase()) { return; }
(event.key.toLowerCase() == event.key && event.shiftKey) || (event.key.toUpperCase() == event.key && !event.shiftKey)