我试图同时按下多个键功能。我为此找到了一些答案。我一直在关注这个。
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();
-
keycode
需要在两个地方都写成keyCode
。 - 确保演示元素是输入,它不适用于div 等。