我正在製作一個簡單的JavaScript遊戲,並且需要能夠檢查某些鍵是否被按下。我已經嘗試綁定到onkeydown
事件,但我遇到的問題是雙重的:首先,它不會讓我檢查是否有多個按鍵在任何時候被按下。其次,它在開始發送垃圾郵件之前按住鍵停止。Javascript檢查鍵盤狀態
在我的代碼中,我可以有一個事件或一個函數,每毫秒檢查一次鍵是否被按下。看到這是一場比賽,我真的沒有任何問題。提前致謝。
我正在製作一個簡單的JavaScript遊戲,並且需要能夠檢查某些鍵是否被按下。我已經嘗試綁定到onkeydown
事件,但我遇到的問題是雙重的:首先,它不會讓我檢查是否有多個按鍵在任何時候被按下。其次,它在開始發送垃圾郵件之前按住鍵停止。Javascript檢查鍵盤狀態
在我的代碼中,我可以有一個事件或一個函數,每毫秒檢查一次鍵是否被按下。看到這是一場比賽,我真的沒有任何問題。提前致謝。
您可以使用onKeyDown和共同的onkeyup:與此代碼存儲在pressed
變量中的每個按鍵代碼
var pressed={};
element.onkeydown=function(e){
e = e || window.event;
pressed[e.keyCode] = true;
}
element.onkeyup=function(e){
e = e || window.event;
delete pressed[e.keyCode];
}
,然後您將其刪除鍵被釋放時。所以當你需要知道哪些按鍵被按下時,你可以通過按下的對象來循環使用(.. in ..)。
謝謝!這正是我正在尋找的。 – 2010-12-16 18:16:41
我剛剛寫了一篇博客文章處理這個問題。見http://nixtu.blogspot.com/2010/12/less-spartan-approach-to-javascript-key.html。
你有沒有考慮過使用JavaScript庫來照顧綁定?它會幫助你動態設置keyup/keydown,以確保遊戲保持響應。 – Mike 2010-12-13 08:29:56
我還沒有看到任何庫會處理檢查鍵是否被按下。我目前使用jQuery,但我不認爲他們有這個功能。如果你能建議一個圖書館這樣做,我會非常感激。 – 2010-12-16 18:16:19