以下範例為判斷,是否依序按了某些按鍵,如果是的話,就執行 alert("OK")
如果想知道某按鍵實際對應的 code 可以自己按看看,用 e.which 取得,
或是到 http://www.w3.org/2002/09/tests/keys-cancel2.html 實際測試查詢,
下例使用"左(37)"、"上(38)"、"右(39)"這三個按鍵
$(function(){
var keys_timeout = 1000;//兩次按按鍵的間隔時間,須在多少時間(毫秒)內按,此例為1秒
var keys = [37,38,39];//依序按下去的按鍵code,此例為方向鍵的"左"、"上"、"右"
var keys_tmp = [];
var keys_init = function(){
keys_tmp = [];
}
var timeid_keys;
$(document).keydown(function (e) {
clearTimeout(timeid_keys);
var v = keys[keys_tmp.length];
if(v==e.which){
keys_tmp.push(v);
}else{
keys_init();
}
if(keys.length==keys_tmp.length){
//依序按了"左"、"上"、"右"後,要執行的程式 - 開始
alert("OK");
//依序按了"左"、"上"、"右"後,要執行的程式 - 結束
keys_init();
}else{
timeid_keys=self.setTimeout(keys_init,keys_timeout);
}
});
});
沒有留言:
張貼留言