Javascript 两个“多键按下”代码示例之间有什么问题?

Javascript 两个“多键按下”代码示例之间有什么问题?,javascript,html,onkeydown,Javascript,Html,Onkeydown,我试图同时按下多个键。我找到了一些答案。我一直在关注这个 问题是我得到了一些有效的代码。但我的观点是行不通的。我完全不知道发生了什么事 答案中的代码 var keys; document.getElementById('demo').addEventListener("keydown", function (e) { keys = (keys || []); keys[e.keyCode]=true; if (keys[65] && keys[66]

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

问题是我得到了一些有效的代码。但我的观点是行不通的。我完全不知道发生了什么事

答案中的代码

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);
在我的代码版本中,第一部分不起作用。我不明白为什么?

原版

键[e.keyCode]=真; 停止 keycode需要在这两个位置都作为keycode编写。 确保demo元素是一个输入,它不会与div等一起工作。
keyCode vs.keyCode谢谢。C vs C.stop不是问题所在。我也试过了密码的拼写是错误的。谢谢