Javascript检查键盘状态

Ty *_*rby 5 javascript key-bindings javascript-events

我正在制作一个简单的JavaScript游戏,需要能够检查某些键是否被按下.我试过绑定到onkeydown事件,但我遇到的问题是双重的:首先,它不会让我检查是否在任何时候按下多个键.第二,它在按下键之后暂停,然后开始发送垃圾邮件.

在我的代码中,我可以有一个事件,或者一个检查每毫秒以查看键是否被按下的函数.看到这是一场比赛,我真的没有任何问题.提前致谢.

mck*_*k89 7

你可以一起使用onkeydown和onkeyup:

var pressed={};
element.onkeydown=function(e){
     e = e || window.event;
     pressed[e.keyCode] = true;
}

element.onkeyup=function(e){
     e = e || window.event;
     delete pressed[e.keyCode];
}
Run Code Online (Sandbox Code Playgroud)

使用此代码将每个按下的键代码存储在pressed变量中,然后在释放键时将其删除.因此,当您需要知道按下哪些键时,您可以通过按下的对象循环使用for(.. in ..).