我在想如果我的键盘坏了,或者我的代码有问题。 下面的代码检测用户是否按下“u”,“d”,“j”和“m”键。未检测到键盘的按键
似乎不可能认识到所有四个键一次被按下。当按下3个键时,它最多可以检测到。我似乎无法找到问题。我将非常感谢您的帮助。
var jkeypressed = false;
var ukeypressed = false;
var dkeypressed = false;
var mkeypressed = false;
function yeah() {
var canvas = document.getElementById("canvas");
var context = canvas.getContext("2d");
canvas.height = 500;
canvas.width = 500;
document.addEventListener("keydown", function(ev) {
switch (ev.keyCode) {
case 77:
mkeypressed = true;
break;
case 74:
jkeypressed = true;
break;
case 85:
ukeypressed = true;
break;
case 68:
dkeypressed = true;
break;
}
}, false);
document.addEventListener("keyup", function(ev) {
switch (ev.keyCode) {
case 77:
mkeypressed = false;
break;
case 74:
jkeypressed = false;
break;
case 85:
ukeypressed = false;
break;
case 68:
dkeypressed = false;
break;
}
}, false);
context.fillStyle = "#33CCFF";
context.font = "20px Arial";
context.fillText(dkeypressed + ' ' + jkeypressed + ' ' + ukeypressed + ' ' + mkeypressed, 300, 50);
}
var x = setInterval(yeah, 1);
<canvas id="canvas"></canvas>
document.body.addEventListener - 你忘了身体的一部分 – DUUUDE123
感谢您的回复,老兄!我做了这个改变,但是页面仍然不会显示所有键为“真” – coder452
我认为这是你的键盘(但不一定是坏掉的)。见http://gaming.stackexchange.com/questions/6669/how-do-i-remove-the-limit-on-pc-keyboard-button-presses –