Собственно, цель вопроса - узнать, как вы организовываете обработку клавиш с помощью JS.
Например, у меня есть
поделка, в которой разноцветные блоки выделяются как по наведению мышки, так и с помощью стрелочек, стрелочек на нампаде, клавиши таба и клавиш WASD. В этой поделке обработка клавиш сделана так:
Создается массив actions, в который я собираюсь класть функции для обработки нажатий определенных клавиш. Ссылка на функцию кладется в элементы с порядковым номером, равным keyCode нужных клавиш:
var actions = []
// 39 - стрелка вправо, 68 - клавиша D, 102 - стрелка вправо на нампаде
actions[39] = actions[68] = actions[102] = function() {}
Потом создается функция, которая по переданному ей e.keyCode ищет функцию, и если функция найдена, выполняет ее:
var t
keyAction = function(e) {
return (t = actions[e.keyCode]) && t(e)
}
$( window ).on('keydown', keyAction)
Лишная переменная используется для того, чтобы избежать повторного обращения к массиву actions, если все же функция найдена.
Мне интересно, какие вы видите минусы в таком подходе, адекватен ли он, и как вы сами организуете обработку клавиш с помощью JS.
Заранее спасибо!