전달, 스페이스 바 및 왼쪽 순서로 키를 누르면 매우 이상한 몇 가지 이유가 있습니다. Left는 실행되지 않고 대신 스페이스 바를 반환합니다. 다른 세 가지 키 조합은 완벽하게 작동하지만 그 중 하나는 아닙니다. 왜 그런 단서가 있니?자바 스크립트 키보드 이벤트가 실행되지 않음
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'로 설정하는 부분은 무엇입니까? –
코드를 검사했지만 그 밖의 것은 잘못되었습니다. 이벤트 자체가 그것을 반환 거부, 그래서 난처한. –