Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用箭头键和jQuery移动项目_Javascript_Jquery_Events - Fatal编程技术网

Javascript 使用箭头键和jQuery移动项目

Javascript 使用箭头键和jQuery移动项目,javascript,jquery,events,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); } });

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

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

谢谢你抽出时间,
Todd

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

$(document).bind('keypress', function(event) {
    if (event.which === 38) {
        moveText(event.shiftKey ? -10 : -1);   
    }
});
箭头键代码供参考:

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

要查找其他键码,请检查示例中所使用的键码是否错误,向上箭头为38:

$(document).bind('keypress', function(event) {
    if (event.which === 38) {
        moveText(event.shiftKey ? -10 : -1);   
    }
});
箭头键代码供参考:

  • 左:37
  • 上升:38
  • 右:39
  • 下降:40
要查找其他键码,请查看示例,了解它是否只是:

$(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?
});
这不只是:

$(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?
});

使用
keydown
键怎么样?63232是什么?似乎有点高。是的,它是高的…在旧的Mac上可能这就是区别。用
键控
来代替怎么样?63232是什么?似乎有点高。是的,它很高…在旧的Mac上,也许这就是区别。谢谢。我得到的event.keyCode值为0,但event.keyCode似乎有效。你知道为什么这件事不象其他人认为的那样起作用吗?不知道。我完全没有理由选择
keyCode
,我只知道它是有效的,而且我从来没有使用过
哪个
。但这可能是jQuery的一个bug,你最近更新过你的版本吗@maddogandnorikoThank谢谢你。我得到的event.keyCode值为0,但event.keyCode似乎有效。你知道为什么这件事不象其他人认为的那样起作用吗?不知道。我完全没有理由选择
keyCode
,我只知道它是有效的,而且我从来没有使用过
哪个
。但这可能是jQuery的一个bug,你最近更新过你的版本吗@MaddogandNorikof或某个原因事件。返回0而不是37、38、39或40,在Firefox的尾码中是63232,等等。由于某个原因事件,返回0而不是37、38、39或40,在Firefox的尾码中是63232,等等。