TIP
我这说的不是同时绑定多个事件的问题。而是写小游戏时会遇到‘同时按下空格+方向键,但只生效了一个
javascript
var keyArr = [false, false, false]; // 空格 左 右
document.addEventListener('keydown', function(e) {
if(e.keyCode === 37) {
keyArr[1] = true;
}else if(e.keyCode === 39) {
keyArr[2] = true;
} else if(e.keyCode === 32){
keyArr[0] = true;
}
})
document.addEventListener('keyup', function(e) {
if(e.keyCode === 37) {
keyArr[1] = false;
}else if(e.keyCode === 39) {
keyArr[2] = false;
} else if(e.keyCode === 32){
keyArr[0] = false;
}
})
function control() {
keyArr.forEach(function(item, index) {
if(index===0&&item) {
// 执行某个方法
} else if(index===1&&item) {
moveLeft();
} else if(index===2&&item) {
moveRight();
}
})
}
window.requestAnimationFrame(control)