我有一个自定义的CMS和想补充由按<大骨节病>控制键的范围内,也就是说,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);
  }
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top