Я уже проверил это, если об этом спросили другие. Но каждый вопрос касался только ввода или текстовой области, и для меня не было идеального ответа. Обратите внимание, что я хочу, чтобы это работало при нажатии клавиши div. Я уже установил div tabindex и могу получить коды клавиш в событии keydown для этого div.
Я создаю электронную таблицу в javascript, используя jQuery. И в электронной таблице пользователь начинает печатать в любой ячейке в любой строке в любом столбце. Теперь я хочу определить, нажат ли допустимый символ, чтобы я сразу показывал текстовое поле редактирования в выбранной ячейке.
Итак, когда я преобразую keyCode в символ с помощью String.fromCharCode, я получаю символ для всего, даже если это клавиша Shift или клавиша ctrl. Значит, это не то, чего я хочу. Это даст мне 2 символа для сдвига и, скажем, G.
Я не знаю, как проверить, был ли пользователь нажат только действительный символ, такой как a, h, 0, 7 и т. Д., Чтобы я сразу показывал ему ячейку редактирования, как это делают листы Google или Microsoft Excel. Кроме того, я мог бы проверить >= 65 и так далее. Но я хочу, чтобы это работало для любого типа клавиатуры на любом языке.
Я уверен, что добиться этого очень сложно, но мне интересно, как это делают Google и Microsoft.
Любая помощь будет оценена.