按 left/right 箭头键做点什么

Do something on left/right arrow press

我想在按下左箭头或右箭头时触发另一个元素上的单击事件。这是代码:

$(window).keypress(function (e) {
  var key = e.which;
  if(key == 13 || key == 39) { // the enter key code or right arrow
    $('.next').click();
    return false;  
  } else if(key == 37) { // left arrow
    $('.prev').click();
    return false;  
  }
});

使用 Enter 键,它就像一个魅力,但是在箭头按下时,没有任何反应,就像使用飞溅的 Magikarp! :) 我错过了什么?

相关问题:Press left and right arrow to change image?

箭头键不会触发 keypress 事件,但它们 会触发 keyupkeydown 事件。

最好使用 keyup,因为 keydown 可以在您按住一个键时多次触发。

$(window).keyup(function (e) {
  var key = e.which;
  if(key == 13 || key == 39) { // the enter key code or right arrow
    $('.next').click();
    return false;  
  } else if(key == 37) { // left arrow
    $('.prev').click();
    return false;  
  }
});