无法阻止 Ctrl+P 的浏览器默认操作

警告

已停用、不受支持的 Internet Explorer 11 桌面应用程序在某些版本的 Windows 10 上已通过 Microsoft Edge 更新永久禁用。 有关详细信息,请参阅 Internet Explorer 11 桌面应用停用常见问题解答

本文介绍无法阻止 针对 CTRL+P 的浏览器默认操作。

适用于: Internet Explorer 11、Internet Explorer 10、Internet Explorer 9
原始 KB 数: 3167077

摘要

从 Internet Explorer 9 开始,不能使用 preventDefault()stopPropagation() 方法阻止 Ctrl+P 组合键的浏览器默认操作。 默认操作是打开“ 打印 ”对话框。

注意

仅当页面以标准模式呈现时,此操作才适用。

如果尝试将其他操作附加到此组合键,则尝试失败,默认操作将保留。

更多信息

以下示例演示了此行为。

如果 Internet Explorer 在标准模式下运行,以下代码不会阻止默认操作:

function handleKeyDown (oEvent) {
    if (oEvent.keyCode == 80 && oEvent.ctrlKey )
    {
        if (oEvent.preventDefault) oEvent.preventDefault();
        if (oEvent.stopPropagation) oEvent.stopPropagation();
    }
}

但是,如果 Internet Explorer 在 IE5.5 quirks 模式下运行,则可以改用以下代码:

function handleKeyDown (oEvent) 
{
    if (oEvent.keyCode == 80 && oEvent.ctrlKey )
    {
        // IE Quirks
        oEvent.returnValue = false;
        oEvent.keyCode = 0;
    }
}

警告

如果更改浏览器文档模式,页面布局可能会受到不利影响。

状态

此行为是设计使然。