我正在創建一個包含問題(類似情況的謎題)的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. 檢測組合鍵
- 2. 在JTextField中檢測組合鍵?
- 3. 在Android中檢測按鍵組合/雙擊
- 4. Javascript發送組合鍵擊
- 5. 檢測組合鍵事件
- 6. SWT錯誤地檢測到組合鍵
- 7. 在Web窗體中檢測鍵擊
- 8. 檢測Ctrl +左鍵單擊在Windows中
- 9. Cmd使用javascript輸入鍵控組合檢測
- 10. 使用Javascript檢測按鍵組合系列
- 11. 在Mac OSX的Firefox中未使用JavaScript檢測到Shift + /組合鍵
- 12. 在javascript中檢測多個按鍵
- 13. 在javascript中檢測鍵盤錯誤
- 14. 在組合框中檢測鼠標右鍵ckick
- 15. 如何檢測在Mac應用程序中按鍵的組合?
- 16. 如何在Python中檢測curses ALT +組合鍵
- 17. Javascript鍵盤,Shift +組合鍵
- 18. AS2:右鍵單擊檢測
- 19. 檢測右鍵點擊RichEditableText
- 20. 檢測左鍵單擊Winform
- 21. JavaScript來檢測哪個鍵盤按鍵被點擊
- 22. 右鍵單擊檢測JavaScript中的SVG形狀不起作用
- 23. 在JavaScript中檢測組合框選定項目
- 24. 如何檢測鼠標中鍵點擊?
- 25. 檢測中鍵單擊事件
- 26. 模擬擊鍵組合
- 27. 單擊和按鍵組合
- 28. 如何在Silverlight中檢測ALT組合?
- 29. 如何檢測非修飾鍵的按鍵組合?
- 30. 使用Lua檢測鍵盤按鍵的組合
謝謝你@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