为了账号安全,请及时绑定邮箱和手机立即绑定

想通过按键控制一个块移动,这段代码为何不起作用

想通过按键控制一个块移动,这段代码为何不起作用

慕码人8056858 2018-12-06 17:04:37
document.keydown = function(event){ var event = event || window.event; var keyCode = event.keyCode || event.which; switch(keyCode){ case 37: if(speedX == 0){ speedX = -1; speedY = 0; } break; case 38: if(speedY == 0){ speedX = 0; speedY = -1; } break; case 39: if (speedX == 0){ speedX = 1; speedY = 0; } break; case 40: if(speedY == 0){ speedX = 0; speedY = 1; } break; default: return; break; } boxMove(); }   控制台没有报错,元素获取也没有问题 但是用下面这段就可以,为什么会这样 document.addEventListener("keydown",function(event){ var event = event || window.event; var keyCode = event.keyCode || event.which; switch(keyCode){ case 37: if(speedX == 0){ speedX = -1; speedY = 0; } break; case 38: if(speedY == 0){ speedX = 0; speedY = -1; } break; case 39: if(speedX == 0){ speedX = 1; speedY = 0; } break; case 40: if(speedY == 0){ speedX = 0; speedY = 1; } break; default: return; break; } boxMove();},false);
查看完整描述

1 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

不知道你这个speedX、Y是什么意思,但是上面的事件应该是document.onkeydown,不是keydown

 

查看完整回答
反对 回复 2018-12-24
  • 1 回答
  • 0 关注
  • 433 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信