javascript – 在JS中检测双Ctrl按键

我有一个自定义CMS,并希望添加一个“快捷键菜单”,按住Ctrl键两次,例如300毫秒.
我使用原型,所以我的出发点显然是:

Event.observe(document, 'keypress', function(event)
  { if(event.keyCode == Event.KEY_XYZ) { show_shortcuts});

我现在的方法是用当前时间(以毫秒为单位)填充全局变量,并检查每个按键是否按键发生的时间小于300毫秒.

但也许有更优雅的解决方案?

解决方法:

这应该工作.如果没有同时按下Alt或Shift等其他键,也可以添加一些进一步的检查.希望它是自我解释,如果不是只是问我,我提供澄清.

var dblCtrlKey = 0;
Event.observe(document, 'keydown', function(event) {
  if (dblCtrlKey != 0 && event.keyCode == 17) {
    alert("Ok double ctrl");
  } else {
    dblCtrlKey = setTimeout('dblCtrlKey = 0;', 300);
  }
});
上一篇:JS/jQuery 之change、keypress、input和propertychange


下一篇:[WebRTC] Audio Codec Encoder 基类注解