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

标签 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...

都不起作用。关于停止浏览器的默认操作有什么建议吗?

最佳答案

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

In Chrome4, certain control key combinations have been reserved for browser usage only and can no longer be intercepted by the client side JavaScript in the web page. These restrictions did not exist in Chrome3 and are inconsistent with both Firefox3/3.5 and IE7/8 (on Windows).

关于javascript - Chrome 中的快捷键命令不会阻止默认操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32390157/

相关文章:

keydown 事件上的 jQuery 触发器()和 stopPropagation()

javascript - 使用拖放上传文件

javascript - 使用 javascript 从 sourceUrl 获取图像

javascript - 当轴在中间对齐时如何制作网格线?

javascript - 唯一标识重复的 Chrome 标签页

javascript - Chrome Native Messaging - 为什么我会收到 "Specified native messaging host not found"错误?

jquery - 防止默认值在我的 javascript 中不起作用

javascript - 如何在覆盖警报功能后停止显示警报框

javascript - 使用 RxJS 处理未知数量的连续 HTTP 请求

javascript - 检查 Firefox 扩展中是否存在首选项