以下範例為判斷,是否依序按了某些按鍵,如果是的話,就執行 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); } }); });
沒有留言:
張貼留言