我知道还有很多其他人问过相同或相似的问题,但是他们得到的答案并没有真正帮助我,因为他们非常复杂,我不甚了解,无法将其添加到我自己的代码。我一直在凝视着它,试图理解一下:Javascript on key press trigger only once真不走运。
我想让我的代码做什么:
我用混合了true false类型变量的方法尝试过:
var map = []; // creation of set
var canKEY = true;
var a = 0;
onkeydown = onkeyup = function(e){ //creation of function
e = e || event; // to deal with IE
map[e.keyCode] = e.type == 'keydown';
/* insert conditional here */
document.getElementById("map").innerHTML = map;
document.getElementById("canKEy").innerHTML = canKEY;
if ((canKEY == true) && map[87] && map[69]){
document.getElementById('document').innerHTML = "forwards up";
canKEY = false;
}
else if ((canKEY == true) && map[87] && map[81]){
document.getElementById('document').innerHTML = "forwards down";
canKEY = false;
}
else if ((canKEY == true) && map[87]){
document.getElementById('document').innerHTML = "forwards";
canKEY = false;
}
else{
document.getElementById('document').innerHTML = "empty";
canKEY = true;
}
}
</script>
你明白了,与qe的其他浪费一样 我可以输入一个命令,但是可以使KEY保持为假,并且我无法再输入任何命令/
我在做什么错了?