event.cancel在IE11中不起作用

时间:2014-08-22 07:16:04

标签: javascript internet-explorer javascript-events internet-explorer-11

我有一个旧的应用程序,其中包含以下JavaScript代码来处理按键事件:

if (event.keyCode == 13) {
    event.cancel = true;
    document.getElementById(btnId).click();
    return false;
}

return true;

它应该做的是检查用户是否按下回车键,如果是,则模拟按钮上的单击并且不执行按键事件的默认操作。

这适用于Google Chrome,Firefox和IE8。但是,它在IE11中不起作用。如何让这段代码在IE11中运行?

1 个答案:

答案 0 :(得分:0)

问题是将event.cancel设置为false在IE11中没有任何作用。取消默认事件处理的可接受方法是使用event.preventDefault()函数。以下代码修复了该问题,适用于IE11,Chrome和Firefox:

if (event.keyCode == 13) {
    event.preventDefault();
    document.getElementById(btnId).click();
    return false;
}

return true;