有没有办法读取键盘事件处理程序之外的键盘状态?具体来说,我需要检查页面加载期间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. 阅读Android WebView中的键盘事件
- 2. 阅读键码/ Keychar从软件键盘
- 3. 键盘事件
- 4. 键盘事件
- 5. 键盘事件
- 6. 在ocamlsdl中读取键盘状态
- 7. Emacs中的按键事件或轮询键盘状态?
- 8. 如何收听软键盘的状态改变事件?
- 9. 如何区分数字键盘和条码阅读器的关键事件?
- 10. Javascript检查键盘状态
- 11. 检查键盘状态
- 12. opentk/C#键盘状态
- 13. 虚拟键盘状态
- 14. 保存键盘状态
- 15. Godot键盘事件
- 16. GLUT键盘事件
- 17. Flex键盘事件
- 18. As3键盘事件
- 19. 触发键盘事件,WebKit的键盘不会触发事件
- 20. iOS自定义键盘 - 保持外观之间的状态
- 21. 如何同时阅读键盘上的按键?
- 22. 禁用JButtons从键盘读取事件
- 23. 净键盘钩子额外KeyUp事件
- 24. .NET中的键盘事件
- 25. 硬件键盘事件
- 26. UWP订阅键盘输入事件/获取隐藏键盘输入
- 27. 如何区分用户轻敲的键盘事件和生成的键盘事件之间的区别?
- 28. 如何获取mac上键盘上某些键的状态?
- 29. 外部键盘连接时如何保存WebView状态?
- 30. ALT键盘键盘事件不适用于所有键盘布局?
这只是他说的问题,他说他希望在页面加载期间,并且您的代码不会运行,直到页面加载。所以事件不会被定义,直到页面加载。 – ehudokai 2011-02-18 00:18:47