在IE 11中无法通过JavaScript禁用Ctrl + O.

Ale*_*lex 7 javascript internet-explorer keyboard-shortcuts internet-explorer-11

我试图在IE中禁用Ctrl + o组合键,以下代码在除IE 11之外的所有IE版本中都能正常工作,除非我在下面的代码中看到警报:

document.onkeydown = function(event) {
    var x = event.keyCode;
    console.log(event.keyCode);
    console.log(event.ctrlKey);
    if ((x == 79) && (event.ctrlKey)) {
        if(navigator.userAgent.match(/rv:11.0/i)){
            alert('Disabled');
        }
        event.cancelBubble = true;
        event.returnValue = false;
        event.keyCode = 0;
        event.stopPropagation();
        event.preventDefault();

        return false;
    }
};
Run Code Online (Sandbox Code Playgroud)

我想知道是否有其他人遇到同样的问题并且他们已经解决了.:-) 谢谢.亚历克斯

Max*_*mel 1

不幸的是,我没有好的解决方案,但已经与 Microsoft 创建了一个案例,并制作了一个 jfiddle 来演示该问题。

我们发现解决这个问题的唯一方法是使用:

<meta http-equiv="X-UA-Compatible" content="IE=7">
Run Code Online (Sandbox Code Playgroud)

标头,但不知道何时会消失 - 更不用说在 IE7 模式下运行的明显副作用了。

一些附加说明:

小提琴:

http://jsfiddle.net/bw5sLd15/1/

// The kitchen sink
function killKey( event ) {
    event.cancelBubble = true;
    event.bubbles = false;
    event.returnValue = false;
    event.stopPropagation();
    event.stopImmediatePropagation();
    event.preventDefault();
    return false;
}
Run Code Online (Sandbox Code Playgroud)