javascript - 防止 Internet Explorer 中的默认击键操作

标签 javascript jquery internet-explorer internet-explorer-10

我试图在 Internet Explorer 10 中覆盖 ControlP,但似乎无法弄清楚如何去做。我模拟了一个 Fiddle 使用一些在 Chrome 中工作的非常简单的代码(至少在我的 Mac 上)。但是在 IE 10 中运行它并使用 ControlP 仍然会弹出打印对话框。

这是我的简单代码:

$('.test').on('keydown', function(e){
    if (e.metaKey || e.ctrlKey){
        $('body').append('ctrl p pressed'); 
        e.preventDefault(); 
        return false; 
    }        
});​

有人知道这里发生了什么吗?

最佳答案

防止默认行为

例如。 (防止 Ctrl+O 和 Ctrl+P 的默认行为)

/*jslint browser: true */
(function scriptInitScript() {
    "use strict";

    document.attachEvent("onkeydown", function handleKeyDown(event) {
        if (event.ctrlKey) {
            switch (event.keyCode) {
            case 79: // o
            case 80: // p
                event.keyCode = 0;
                return false;
            }
        }
    });

}());

JSFiddle

请注意。如果可用,jQuery 1.9 使用 addEventListenerSee in github .

关于javascript - 防止 Internet Explorer 中的默认击键操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443742/

相关文章:

javascript - 如何在 javascript 的单个循环中转换多个 if?

jquery - 有人可以告诉我为什么会发生这种情况吗?

jquery - jQuery 中有没有办法将 div 放在前面?

html - 在 IE 9 中列出垂直对齐

javascript - 从文件中删除行而不改变 Node js中的缓冲区变量

javascript - 每个 Node 调用是否运行自己的 Node 版本

javascript - 在 Promise.all() 中包装 localForage setItem 调用

javascript - 使用谷歌翻译的自定义按钮

css - Font-awesome Pro 5.3.1 在所有 ie 浏览器 ie11、ie10 加载后消失

javascript - 在 IE 中动态构建 Javascript src 属性错误