我正在尝试为自己编写一个超级排序的 Javascript 库,只是为了让画布游戏更容易一些。
我想为来自 Javascript 的按键添加事件侦听器,而不是将其作为属性放入。
但每次我这样做时,它都无法正常工作,我真的很沮丧,浪费了我所有的备件,试图弄清楚我什么时候可以做功课!
无论如何,你认为有人能告诉我我哪里出错了吗?对于这段代码,我希望它alert()
使用刚刚按下的箭头键
这是 index.html
<html>
<head>
<script src="spencersjslibrary.js"></script>
</head>
<body>
<div id="blueblock" style="background:blue; width:100px; height:100px;"></div>
<script>addkeylisten("blueblock")</script>
</body>
</html>
这是 spencersjslibrary.js
//Keyboard stuff for moving and yeah
//Adding event listener
function addkeylisten(ida) {
alert(ida)
var ide = document.getElementById(ida)
ide.addEventListener("keypress", keycheck(event))
}
//checking what key was pressed and assign string value to "lastkey"
function keycheck(event) {
var bttn = (event.keyCode);
switch (bttn) {
case 38:
lastkey = "up";
break;
case 40:
lastkey = "down";
break;
case 37:
lastkey = "left";
break;
case 39:
lastkey = "right";
alert(lastkey)
}
}
所以我修复addEventListener
了它,让它在点击事件时也能正常工作,但不是我keypress
的。
这只是元素类型,就像它可以与画布或正文元素一起使用吗?如果它像一个图像或某种东西,是否必须集中注意力才能听到按键?