如何允许我的程序检测 keyCode 而不会在 Javascript 中出现类型错误?
How do I allow my program to detect keyCode without getting a type-error in Javascript?
我对编码还很陌生,而且我一直遇到一个问题。在制作贪吃蛇或乒乓球等游戏时,我倾向于使用事件侦听器来侦听按键事件,例如:document.body.addEventListener("keydown", moveSnake);
。然后我继续声明函数 moveSnake :
function moveSnake(event){
switch(event.keyCode){
case 87:
break;
case 83:
break;
case 65:
break;
case 68:
break;
default:
break;
}
}
我知道还没有代码告诉蛇要做什么。一旦我这样做,我就会遇到一个反复出现的问题。我的程序停止了,并且我在控制台中收到一条错误消息:Cannot read properties of undefined (reading 'keyCode')
。我使用的是 google chrome 的最新版本,如果有人能告诉我我做错了什么,我将不胜感激。我尝试将 keyCode 声明为变量,以及我在网上随机找到的许多其他建议,但没有任何效果。谢谢!
由于浏览器不一致,.keyCode 已被弃用。 (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode)
您可以尝试使用 .code,它将键命名为“ArrowUp”、“ArrowLeft”、“ArrowRight”和“ArrowDown”。
我对编码还很陌生,而且我一直遇到一个问题。在制作贪吃蛇或乒乓球等游戏时,我倾向于使用事件侦听器来侦听按键事件,例如:document.body.addEventListener("keydown", moveSnake);
。然后我继续声明函数 moveSnake :
function moveSnake(event){
switch(event.keyCode){
case 87:
break;
case 83:
break;
case 65:
break;
case 68:
break;
default:
break;
}
}
我知道还没有代码告诉蛇要做什么。一旦我这样做,我就会遇到一个反复出现的问题。我的程序停止了,并且我在控制台中收到一条错误消息:Cannot read properties of undefined (reading 'keyCode')
。我使用的是 google chrome 的最新版本,如果有人能告诉我我做错了什么,我将不胜感激。我尝试将 keyCode 声明为变量,以及我在网上随机找到的许多其他建议,但没有任何效果。谢谢!
由于浏览器不一致,.keyCode 已被弃用。 (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode)
您可以尝试使用 .code,它将键命名为“ArrowUp”、“ArrowLeft”、“ArrowRight”和“ArrowDown”。