Chrome中的快捷键命令不会阻止默认操作

时间:2015-09-04 04:36:24

标签: javascript google-chrome preventdefault

所以我正在编写一个快捷库,并且大多数情况下它都有效,除了我发现的问题就在Chrome中(因为我在Chrome书上没有测试其他浏览器)是按ctrl+n它会创建一个新的浏览器窗口。基本上在jist中,我的代码检查当前的键选择是否已定义,是否为preventDefault并运行该命令的exec函数。

if(joinedKeys in commands.cmd)
    e.preventDefault();
    commands.cmd[joinedKeys].exec();

我甚至尝试过这样做 -

document.addEventListener("keydown",function(e){
    e.preventDefault();
});
//as well as window.addEvent...

都没有工作。有关停止浏览器默认操作的建议吗?

1 个答案:

答案 0 :(得分:2)

请参阅https://stackoverflow.com/a/7296303/5298696

  

在Chrome4中,已保留某些控制键组合   仅限浏览器使用,不再被客户端拦截   网页中的JavaScript。这些限制并不存在   Chrome3与Firefox3 / 3.5和IE7 / 8不兼容(开启   窗口)。