Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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键盘事件和检测_Javascript_Javascript Events_Event Handling - Fatal编程技术网

javascript键盘事件和检测

javascript键盘事件和检测,javascript,javascript-events,event-handling,Javascript,Javascript Events,Event Handling,我试图避开jQuery,并想检测是否按下了left或right键。我很难让它正常工作 var keyPress = function(event) { var keyCode = event.keyCode; if (keyCode == 37) //do something if (keyCode == 39) //do something } document.onkeydown = keyPress(event); 我遇到的问题是,我无法检测到任何键盘事件 非

我试图避开jQuery,并想检测是否按下了left或right键。我很难让它正常工作

var keyPress = function(event) {
  var keyCode = event.keyCode;
  if (keyCode == 37)
    //do something
  if (keyCode == 39)
    //do something
}
document.onkeydown = keyPress(event);
我遇到的问题是,我无法检测到任何键盘事件


非常感谢您的帮助。

您需要将函数引用传递给onkeydown

document.onkeydown = keyPress;

调用函数
keyPress
并将其返回的值作为
onkeydown
处理程序传递,在这种情况下,需要将函数引用传递给onkeydown

document.onkeydown = keyPress;

调用函数
keyPress
并将其返回的值作为
onkeydown
处理程序传递,在这种情况下,
undefined

您是否检查了firebug是否抛出了任何错误?如果您没有jQuery或其他库对其进行规范化,您可能需要说类似于
var-keyCode=event.keyCode | event.which(如果(!event)event=window.event,则可能是
)。您是否检查了firebug是否抛出了任何错误?如果您没有jQuery或其他库对其进行规范化,则可能需要说类似
var keyCode=event.keyCode | event.which(如果(!event)event=window.event,则可能是
)。