Firefox 中持续的 onkeydown 事件
我有一个常规的 onkeydown 事件处理程序,它会触发一个函数,如下所示:
window.onkeydown = onKeyDown;
它基本上可以工作,但它只捕获 Firefox 中的 1 个键。然后我必须松开它并再次按下。
谷歌浏览器为我提供了持续的抓取,所以我想知道这是否是我的选择。
I have a regular onkeydown event handler that fires a function, like this:
window.onkeydown = onKeyDown;
It essentially works, but it only captures 1 key in Firefox. Then I have to release it and press again.
Google chrome offers me a continuous grab, so I wonder if this is by choice.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果你尝试这样的事情会怎样:
变得更好:
What if you try something like this:
Made better:
您尝试过
keypress
事件吗?如果按住该键,则在keydown
之后触发keypress
事件。Have you tried the
keypress
event? Thekeypress
event is fired afterkeydown
if the key is held down.我猜您一定使用的是 Mac 或 Linux,因为在 Windows 中,Firefox 确实支持自动重复
keydown
事件。然而,在其他操作系统中,只有按住某个键时,您才会收到自动重复的按键
事件。总之,如果可以的话,请使用keypress
事件。有关详细信息,请参阅 Jan Wolter 关于 JavaScript 关键事件的优秀文章。
I guess you must be using a Mac or Linux, because in Windows, Firefox does support auto-repeated
keydown
events. In other operating systems, however, you only get auto-repeatedkeypress
events when you hold a key down. In summary, if you can, use thekeypress
event.See Jan Wolter's excellent article on JavaScript key events for more information.