我正在創建一個包含問題(類似情況的謎題)的html頁面。這個問題的答案是「Windows 7」。但是,我希望用戶只有按了windows key followed by 7
才能解決問題。我想爲此創建一個JavaScript函數。我可以通過獲取擊鍵的ASCII值來捕獲單個按鍵。但是當我試圖聯合起來做它不工作。如何去解決這個..任何想法..在javascript中檢測組合鍵擊
2
A
回答
5
http://jsfiddle.net/loktar/MsNPW/5/
var keys = [];
document.onkeydown = function(evt){
var key = evt.keyCode;
keys[key] = true;
if(keys[91] && keys[55]){
console.log("win7");
}
}
document.onkeyup = function(evt){
var key = evt.keyCode;
keys[key] = false;
}
1
你可以檢測到keydown和keyup事件,並保存已被按下的鍵列表。將密鑰添加到keydown的列表中,並從keyup列表中刪除它們。從那裏你可以在適當的時候查看列表(例如在keydown事件結束時)。
請記住,每個按鍵是它自己的獨特事件。被推送的多個鍵並不是天然相關的,所以你需要自己創建這個列表。
我建議你使用像jQuery這樣的庫,並且可能有插件可以提供幫助。也就是說,我所描述的一般概念不應太難實施。讓我知道僞代碼是否有助於澄清我描述的算法。
+0
哇,那是一個很好的主意。謝謝你 – CHID 2011-03-08 17:15:54
相關問題
- 1. 在JTextField中檢測組合鍵?
- 2. Javascript發送組合鍵擊
- 3. 檢測組合鍵事件
- 4. SWT錯誤地檢測到組合鍵
- 5. 檢測Ctrl +左鍵單擊在Windows中
- 6. 使用Javascript檢測按鍵組合系列
- 7. Cmd使用javascript輸入鍵控組合檢測
- 8. 在Mac OSX的Firefox中未使用JavaScript檢測到Shift + /組合鍵
- 9. 在javascript中檢測鍵盤錯誤
- 10. AS2:右鍵單擊檢測
- 11. 單擊和按鍵組合
- 12. 如何在Silverlight中檢測ALT組合?
- 13. 使用Lua檢測鍵盤按鍵的組合
- 14. 檢測ExpandableListView組點擊
- 15. 檢測ACCESS組合框中的刪除鍵
- 16. 無法檢測組合框中的鼠標右鍵
- 17. 如何檢測C中的一個鍵或筆畫組合?
- 18. JavaScript:檢測iframe中的鏈接點擊
- 19. 使用Javascript在Mac上檢測FN鍵
- 20. 如何檢測JavaScript中的shift +鍵?
- 21. Javascript數組檢查關鍵
- 22. 如何檢測右鍵單擊+刪除使用jQuery/Javascript
- 23. 組合檢測機制
- 24. Flot - 檢測左鍵單擊並右鍵單擊
- 25. 在UIWebView中檢測雙擊
- 26. 檢查表中兩個鍵的組合
- 27. 檢測鍵盤空間點擊
- 28. Visual C++檢測右鍵單擊按鈕
- 29. 檢測點擊並保持在iOS鍵盤按鍵
- 30. 在.NET中用組合框檢測鼠標/手寫筆點擊CF
謝謝你@Loktar ..它工作:) – CHID 2011-03-08 17:25:55
有一個錯誤,我似乎無法修復...如果你一次正確回答它,下一次你回答一些事情,你會得到一個「正確」的迴應即使它是錯誤的 – mrmo123 2012-03-14 18:42:26
@ mrmo123嗯可以試試這個,http://jsfiddle.net/loktar/MsNPW/4/ **修復**警報阻止了正在運行的按鍵。編輯答案。 – Loktar 2012-03-14 18:49:33