使用箭头键和jQuery移动项目

时间:2013-02-04 15:19:20

标签: javascript jquery events

我有一个可以在形状中拖动的项目。我还可以使用键盘上的箭头键移动项目:

$(document).bind('keypress', function(event) {
  if(event.which === 63232){ // up arrow key
    if(!event.shiftKey) howMuch = -1;   
    else if(event.shiftKey) howMuch = -10;   
    moveText(howMuch);   
  }
});

但是,至少在FF中,这不再起作用了。我警告了箭头按下时发生的事件,所有四个都返回零。

如何检测箭头按键?哦是的... javascript或jQuery。

感谢您的时间, 托德

2 个答案:

答案 0 :(得分:3)

您使用的密钥错误,向上箭头为38:

$(document).bind('keypress', function(event) {
    if (event.which === 38) {
        moveText(event.shiftKey ? -10 : -1);   
    }
});

箭头键代码供参考:

  • 左:37
  • Up:38
  • 右:39
  • Down:40

要查找其他密钥代码,请查看keyPress() in the API

的示例

答案 1 :(得分:1)

不仅仅是:

$(document).on('keypress', function(e) { // Note I used .on()
    if (e.keyCode == 38) {                // I never use .which
        howMuch = (e.shiftKey) ? -10 : -1;
    }
    moveText(howMuch); // never seen this function before, isn't that it?
});