$(document).keydown(function(e) {
switch(e.which) {
case 37: // left
break;
case 38: // up
break;
case 39: // right
break;
case 40: // down
break;
default: return; // exit this handler for other keys
}
e.preventDefault(); // prevent the default action (scroll / move caret)
});
Поместите свой код для клавиш со стрелками между соответствующими строками case
и break
.
e.which
нормализовано jQuery, поэтому оно работает во всех браузерах. Для чистого подхода javascript замените первые две строки на:
document.onkeydown = function(e) {
e = e || window.event;
switch(e.which || e.keyCode) {
(редактировать 2017)
Если вам кажется, что вы можете использовать e.key
вместо e.which
или e.keyCode
сейчас. e.key
становится рекомендуемым стандартом, позволяющим проверять строки: 'ArrowLeft'
, 'ArrowUp'
, 'ArrowRight'
, 'ArrowDown'
. Новые браузеры поддерживают его изначально, проверьте здесь .