0

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

$(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。

谢谢你的时间,托德

4

2 回答 2

3

您使用的键码错误,向上箭头为 38:

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

箭头键代码供参考:

  • 左:37
  • 上:38
  • 右:39
  • 下降:40

要查找其他键码,请查看API 中的 keyPress()示例

于 2013-02-04T15:23:18.677 回答
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?
});
于 2013-02-04T15:27:05.440 回答