2015-09-04 67 views
0

因此,我正在编写一个快捷方式库,并且大多数情况下它的工作原理除了我发现的问题都来自Chrome(从未测试过其他浏览器)在铬书上)是当按下ctrl+n它创建一个新的浏览器窗口。基本上在jist中,我的代码检查当前的密钥选择是否已定义,并且是否为preventDefault并运行该命令的exec功能。Chrome中的快捷键命令不会阻止默认操作

即。

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

我甚至尝试只是在做这个 -

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

既不工作。任何建议,以停止浏览器的默认操作?

回答

2

https://stackoverflow.com/a/7296303/5298696

在Chrome4浏览器,某些控制组合键已预留只有 浏览器使用,不能再通过在网页中的客户端的JavaScript 被截获。这些限制在Chrome3中不存在 ,并且与Firefox3/3.5和IE7/8(在Windows的 上)不一致。

+1

嘿,谢谢,所以我必须记下这一点,以便用户不会为了文明而尝试这些组合器,非常有趣的是他们如何将它们从我们身上拿走 - – EasyBB