第一次按键后有一点暂停。 这是日志:
[00.000ms] keypress -- first keypress [496.00ms] keypress -- second keypress after 496 ms [39.000ms] keypress -- every other keypress after about 20-40 ms. [41.000ms] keypress [21.000ms] keypress [39.000ms] keypress ...
因此,在第一次按键后暂停半秒,其余时间在20-40毫秒后触发。
这是获取按键的代码:
// If we're using the webkit engine, capture the keydowns
if(navigator.userAgent.indexOf("WebKit") != -1){
window.onkeydown = onKeyPress;
} else{
// If we're using gecko, capture the keypress
if(navigator.userAgent.indexOf("Gecko") != -1){
window.onkeypress = onKeyPress;
}
}
onKeyPress函数执行的第一件事是调试输出(上面的日志中的那个)
有谁知道暂停的原因在哪里? 就像在Windows或Linux上那样; Firefox或Chrome。
答案 0 :(得分:1)
我认为“真实游戏”可以访问更低端的内容,而Javascript受操作系统自动重复按键限制的约束。
我解决问题的方法是使用onKeyDown
和onKeyUp
创建解决方法:
因此,当onKeyDown
事件被触发时,请继续重复该过程,直到触发onKeyUp
事件。