В таких обстоятельствах также может быть полезно, чтобы иметь возможность проверить на CTL/альт/смены ключей:
if (e.altKey) {
}
if (e.ctrlKey) {
}
if (e.shiftKey) {
}
Для коды нажатия клавиш, следующий объект буквальным должно помочь:
var Key =
{
BACKSPACE: 8,
TAB: 9,
ENTER: 13,
ESC: 27,
PAGEUP: 33,
PAGEDOWN: 34,
END: 35,
HOME: 36,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
HELP: 47,
H: 72,
K: 75,
N: 78,
R: 82,
NUMERIC_PLUS: 107,
F1: 112,
F2: 113,
F3: 114,
F4: 115,
F5: 116,
F6: 117,
F7: 118,
F8: 119,
F9: 120,
F10: 121,
F11: 122,
F12: 123,
PLUS: 187,
MINUS: 189,
V: 86
}
Таким образом, вместо:
switch(event.keyCode) {
case 40:
keypresses.push('down');
break;
case 38:
keypresses.push('up');
}
Мы можем сказать:
switch(event.keyCode) {
case Key.DOWN:
keypresses.push('down');
break;
case Key.UP:
keypresses.push('up');
break;
}
Это способствует самодокументируемому коду и является более читабельным и обслуживаемым.
Более изящный, так что настроили мой ответ. – CLiown