有沒有辦法讀取鍵盤事件處理程序之外的鍵盤狀態?具體來說,我需要檢查頁面加載期間shift鍵是否關閉。我正在使用jQuery。如何閱讀鍵盤事件之外的鍵盤狀態?
4
A
回答
2
這段代碼似乎在您按住shift鍵時會起作用,但它會在後續按鍵上起作用。您可以在第一次按鍵後取消綁定,但這也意味着即使在頁面加載後它也會運行。
$(document).ready(function() {
$(document).keydown(function(e) {
if(e.shiftKey)
alert("Shift was held");
});
});
2
從Marko的回答中被盜和改進。
$(document).keydown(function(e) {
if(e.shiftKey)
alert("Shift was held");
});
只是刪除了$(document).ready,因爲您希望它在加載頁面時,而不是在之後。
3
JavaScript中沒有查詢鍵盤狀態。希望那裏。你有聽自己的事件和追蹤狀態。
2
您可以使用我的圖書館KeyboardJS。它有一個名爲.getActiveKeys()的方法,它會告訴你哪些鍵是活動的。該庫實際上是以一種常識的方式綁定到鍵和關鍵組合。
我會建議使用事件綁定。
KeyboardJS.bind.key('shift', function(){
//logic on key down
}, function(){
//logic on key up
});
請注意,您也可以做一些複雜的事情,如shift + z + x或z + x + c。如果將shift,z,x按在一起,或者將z,x,c按在一起,這將會觸發。
KeyboardJS.bind.key('shift + z + x, z + x + c', function(){
//logic on key down
}, function(){
//logic on key up
});
您可以讀到鍵按下事件的回調以外這樣
var activeKeys = KeyboardJS.getActiveKeys();
希望幫助, 乾杯!
相關問題
- 1. 閱讀鍵盤狀態
- 2. 閱讀Android WebView中的鍵盤事件
- 3. 如何在mousemove事件中檢查鍵盤按鍵狀態
- 4. 鍵盤事件
- 5. 鍵盤事件
- 6. 鍵盤事件
- 7. 閱讀輸入鍵盤
- 8. Emacs中的按鍵事件或輪詢鍵盤狀態?
- 9. 如何收聽軟鍵盤的狀態改變事件?
- 10. 如何區分數字鍵盤和條碼閱讀器的關鍵事件?
- 11. opentk/C#鍵盤狀態
- 12. 保存鍵盤狀態
- 13. 檢查鍵盤狀態
- 14. Javascript檢查鍵盤狀態
- 15. 虛擬鍵盤狀態
- 16. As3鍵盤事件
- 17. 鍵盤android事件?
- 18. AS3鍵盤事件
- 19. Godot鍵盤事件
- 20. Flex鍵盤事件
- 21. 鍵盤事件java
- 22. GLUT鍵盤事件
- 23. 觸發鍵盤事件,WebKit的鍵盤不會觸發事件
- 24. iOS自定義鍵盤 - 保持外觀之間的狀態
- 25. 如何同時閱讀鍵盤上的按鍵?
- 26. 如何讀取Vim「鍵盤綁定」(鍵盤快捷鍵?),「<C-f>」?如何閱讀其他Vim文檔?
- 27. 如何在軟鍵盤處於打開狀態時捕捉按鍵事件android?
- 28. 禁用JButtons從鍵盤讀取事件
- 29. 淨鍵盤鉤子額外KeyUp事件
- 30. DataGridComboBoxColumn放下鍵盤快捷鍵或鍵盤事件?
這只是他說的問題,他說他希望在頁面加載期間,並且您的代碼不會運行,直到頁面加載。所以事件不會被定義,直到頁面加載。 – ehudokai 2011-02-18 00:18:47