4

我试图抑制 IE 对 Ctrl+O 的默认处理。

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

顺便说一句:这并不重要,因为我可以选择另一个键,但很好奇是否有办法解决这个问题。

4

1 回答 1

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;
    }
}
于 2010-09-01T14:27:36.403 回答