检测JS双按Ctrl按键
-
19-09-2019 - |
题
我有一个自定义的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);
}
});
不隶属于 StackOverflow