禁止在Internet Explorer中对Ctrl + O进行默认处理

时间:2010-09-01 13:35:17

标签: javascript internet-explorer keyboard-events

我正在尝试禁止IE对Ctrl + O的默认处理。

我有一个onKeyDown处理程序,它被调用,但即使我调用event.cancelBubblereturn false,默认的File | Open命令仍会运行。

顺便说一下:这并不重要,因为我可以选择另一把钥匙,但好奇是否可以解决这个问题。

1 个答案:

答案 0 :(得分:4)

首先,您无法调用event.cancelBubble,这不是方法,而是可以设置为true的属性。

要防止IE中特殊键的默认操作,您还必须将IE键码设置为0:

function keydownHandler(e) {
    e = e || window.event;

    if (e.preventDefault)
        e.preventDefault();
    else {
        e.cancelBubble = true;
        e.returnValue = false;
        e.keyCode = 0;
    }
}