有没有一种方法可以阻止IE中键盘快捷键的传播

Is there a way to stop propagation of keyboard shortcuts in IE?

本文关键字:IE 键盘 快捷键 传播 一种 方法 有没有      更新时间:2023-09-26

以下是我正在使用的代码和我已经尝试过的方法,它们在Chrome和Firefox中都有效:

$j(document).on('keydown', function (e) {
    if(e.keyCode == 80) {
        if(ctrl_key == 'yes') {
            do_something();
            e.preventDefault();
            e.stopPropagation();    
            e.cancelBubble = true;      
        }
    }
});
$j(document).on('keypress keyup', function (e) {
if(e.keyCode == 80) {
    if(ctrl_key == 'yes') {
        e.preventDefault();
        e.stopPropagation();    
        e.cancelBubble = true;      
    }
}
});

这是用于打印功能(ctrl+p)

有什么办法阻止这种行为吗?

跨浏览器方法:

$j(document).on('keydown', function (e) {
    var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
    if(e.ctrlKey && key == 80) {
        e.preventDefault();
        e.stopPropagation();  
        alert("CTRL + P pressed");
        return false;
    }
});

测试前,您需要选择"文档",在渲染面板或编辑框中单击http://jsfiddle.net/PTauw/99/