出于一些非常奇怪的原因,当您按前进,空格键和左侧的顺序按键时。左边不会触发并返回空格键。三个键的任何其他组合完全正常,但不是那个。关于为什么的任何线索?
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;
}
}
};
答案 0 :(得分:2)
也许您的一个键是激活不需要的默认行为。您可以尝试将event.preventDefault();
添加到事件绑定中。
答案 1 :(得分:1)
这取决于键盘的型号。某些键盘不适用于某些键组合。这很正常。