0
我與鍵盤組合的數組,這應該確認按鍵正好位於陣列例如記錄歷史/順序按下
var listkeys = ['left', 'right', 'bottom', 'top'];
if(validate key){
continue
}
排列順序的順序是非常重要的,如果他們都錯了通過按箭頭的順序,然後,我繼續不和向您發送錯誤
我是一個新手在JavaScript我希望我可以幫助非常的感謝
我與鍵盤組合的數組,這應該確認按鍵正好位於陣列例如記錄歷史/順序按下
var listkeys = ['left', 'right', 'bottom', 'top'];
if(validate key){
continue
}
排列順序的順序是非常重要的,如果他們都錯了通過按箭頭的順序,然後,我繼續不和向您發送錯誤
我是一個新手在JavaScript我希望我可以幫助非常的感謝
通常情況下,我不回覆帖子說尋求全面解決方案,但我寫出來,不希望它浪費。這裏有一個小東西讓你開始。
// Valid combination of keys
var valid_combo = ['left', 'right', 'bottom', 'top'];
// Stack that stores the last 4 key inputs, including non-arrow keys
var history = [];
// Maps arrow key direction strings to char code
var keys = [];
keys[37] = 'left';
keys[38] = 'top';
keys[39] = 'right';
keys[40] = 'bottom';
$(window).keyup(function(e) {
var key = e.which;
if (key >= 37 && key <= 40)
{
history.push(keys[key]);
}
else
{
history.push("derp");
}
if (history.length > 4) history.shift();
// Array equality using Option 1 - http://stackoverflow.com/a/10316616/773702
if (JSON.stringify(valid_combo) == JSON.stringify(history))
{
console.log("Valid key combination");
}
});
我很感謝你抽出時間寫代碼,你是天才! – jpmaster 2013-05-13 22:29:03
我們爲這個麻煩而道歉,因爲如果你想按下回車鍵來驗證,如果你按下正確的箭頭? – jpmaster 2013-05-13 22:44:38
添加對[輸入密碼](http://www.w3.org/2002/09/tests/keys-cancel2.html?)的檢查,然後進行驗證。 :)乾杯! – Josh 2013-05-14 12:25:43