キャンバスゲームを少し簡単にするために、自分用にスーパーソートの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
ものではうまくいきませんでした。
それは、キャンバスまたはボディ要素で機能するような要素タイプだけですか?そして、それが画像のようなものだったとしたら、キーを押す音を聞くために焦点を合わせる必要がありますか?