连续按两个键可触发 JavaScript 中的事件
在 Vim
中,你可以按 gg
转到文档的开头,或者按 dd
删除当前行。如何在网页中实现类似的行为?我的意思是,在网页环境下,如何捕获两个连续的按键事件来触发事件?
谢谢。
In Vim
, you can press gg
to go to the beginning of the document, Or press dd
go delete the current line. How to implement similar behavior in a web page? I mean, in a web page environment, how can I capture two continuous key press event to trigger an event?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要监视所有按键事件,并且当您找到可能是多次按键组合中的第一个按键时,启动计时器。如果在计时器处于活动状态时按下组合中的第二个键,则执行某些操作。
例如(伪代码)
//在此处执行操作
,只有在 100 毫秒内按两次g
时才会触发You would need to monitor all key press events and when you find a key that is possibly the first in a multi-press combo, start a timer. If the second key in the combo is pressed while the timer is active, do something.
eg (pseudocode)
The
//Do the action here
, will only fire ifg
is pressed twice within 100ms你不能。只需注册普通按键事件并将按键推送到数组即可。
现在您可以调用一个检查命令的函数:
这很简单,干净(取决于您编写的方式)并且可扩展,添加更多命令非常容易,当然您可以更改它以便可以将参数传递给命令功能等
You can't. Simply register the normal key event and push the keys to an array.
Now you can call a function which checks for the commands:
This is simple, clean (depends on how exactly you write it) and scalable, adding more commands is pretty easy, of course you change it so that you can pass parameters to the command function etc.