两个"multiple key pressed"代码示例之间有什么问题?



我试图同时按下多个键功能。我为此找到了一些答案。我一直在关注这个。

JavaScript 多次键击

问题是我得到了一些有效的代码。但是我的版本不起作用。我完全不知道发生了什么。

来自答案的代码

var keys;
document.getElementById('demo').addEventListener("keydown", function (e) {
    keys = (keys || []);
    keys[e.keyCode]=true;
    if (keys[65] && keys[66]){
        document.body.style.backgroundColor = "red";
    }
} , false);
document.getElementById('demo').addEventListener("keyup", function (e) {
    keys[e.keyCode]=false;
    document.body.style.backgroundColor = "green";
    stop();
}, false);

我的代码版本是。

var keys;
document.getElementById('demo').addEventListener("keydown", function (e) {
keys = (keys || []);
    keys[e.keycode]=true;
    if (keys[65] && keys[66]){
    document.body.style.backgroundColor = "red";
}
} , false);
document.getElementById("demo").addEventListener("keyup", function (e) {
    keys[e.keycode]=false;
    document.body.style.backgroundColor = "green";
//stop();
} , false);

在我的代码版本中,第一部分不起作用。我不知道为什么?

原始

 keys[e.keyCode]=true; 
stop(); 

VS.你的

keys[e.keycode]=true;
//stop();

  1. keycode需要在两个地方都写成keyCode
  2. 确保演示元素是输入,它不适用于div 等。

相关内容

  • 没有找到相关文章

最新更新