我正在創建一個HTML畫布遊戲,並且需要記錄是否有按下按鍵的成功順序。記錄哪些按鍵已按下,並按哪個順序javascript?
有順序被按下的鍵是
ž然後一個
如果Z和然後按下它應該觸發一個事件。這怎麼能做到最好?
感謝
我正在創建一個HTML畫布遊戲,並且需要記錄是否有按下按鍵的成功順序。記錄哪些按鍵已按下,並按哪個順序javascript?
有順序被按下的鍵是
ž然後一個
如果Z和然後按下它應該觸發一個事件。這怎麼能做到最好?
感謝
var keys = [];
$("div").keypress(function(e){
keys[keys.length] = e.keyCode;
})
這將做到這一點。
演示:http://jsfiddle.net/DerekL/9LKby/
更具體到你的 「Z和」 例如:
var keys = []; //store in an array (list)
$("body").keypress(function(e){ //keypress event
keys[keys.length] = e.keyCode; //save keyCodes
if(keys[keys.length-2]==122 && keys[keys.length-1]==97){ //122 = Z; 97 = A
alert("You have just pressed z and then a"); //done
}
});
爲什麼不使用'.push()'?除此之外,更好地使用'e.which'並且我會使用一個字符串而不是一個數組 - 然後你可以很容易地檢查'if(keys =='za')'來查看是否按下了正確的鍵。 – ThiefMaster 2012-04-14 20:07:48
你是指小偷嗎? – cgwebprojects 2012-04-14 20:10:04
@ThiefMaster - 你只能獲取'keyCode',而不是實際的字符。 'e.which'也會給你''keyCode'。沒有什麼不同。 – 2012-04-14 20:26:26
平原JS或你使用如jQuery的? – ThiefMaster 2012-04-14 20:04:47
jquery,javascript或兩者,只是要編輯我的答案,我已經試過:) – cgwebprojects 2012-04-14 20:06:37
兩個鍵應該同時按下,還是允許在按下一個按鍵之前拿起前一個按鍵?一個純JavaScript解決方案[posted here](http://stackoverflow.com/questions/7614340/listen-to-multiple-keydowns/7614586#7614586)(使用'keypress'事件,以及'event.charCode'屬性用於可靠的鍵到字符映射)。 – 2012-04-14 20:08:07