對於某些非常奇怪的原因,當您按順序向前鍵,空格鍵和左鍵時。左側不會觸發並返回空格鍵。三個鍵的任何其他組合都可以很好地工作,但不是那個。任何線索爲什麼?JavaScript鍵盤事件沒有觸發
var Ctrl = {
init: function() {
window.addEventListener('keydown', this.keyDown, true);
window.addEventListener('keyup', this.keyUp, true);
},
keyDown: function(event) {
console.log(event.keyCode);
switch(event.keyCode) {
case 37: // Left
Ctrl.left = true;
break;
case 39: // Right
Ctrl.right = true;
break;
case 38: // up
Ctrl.up = true;
break;
case 40: // down
Ctrl.down = true;
break;
case 32:
Ctrl.space = true;
break;
default:
break;
}
},
keyUp: function(event) {
switch(event.keyCode) {
case 37: // Left
Ctrl.left = false;
break;
case 39: // Right
Ctrl.right = false;
break;
case 38:
Ctrl.up = false;
break;
case 40:
Ctrl.down = false;
break;
case 32:
Ctrl.space = false;
break;
default:
break;
}
}
};
問題可能在別處嗎?例如,在你讀完它之後,你將「Ctrl.space」設置爲「false」? –
檢查了代碼,沒有其他錯誤。事件本身拒絕返回它,所以我很難過。 –