Javascript event.cancel在IE11中的用法
我有一个旧的应用程序,它包含以下JavaScript代码来处理按键关闭事件:Javascript event.cancel在IE11中的用法,javascript,internet-explorer,dom-events,internet-explorer-11,Javascript,Internet Explorer,Dom Events,Internet Explorer 11,我有一个旧的应用程序,它包含以下JavaScript代码来处理按键关闭事件: if (event.keyCode == 13) { event.cancel = true; document.getElementById(btnId).click(); return false; } return true; 它应该做的是检查用户是否按了enter键,如果是,则模拟单击按钮,并且不执行key down事件的默认操作 这在Google Chrome、Firefox和IE
if (event.keyCode == 13) {
event.cancel = true;
document.getElementById(btnId).click();
return false;
}
return true;
它应该做的是检查用户是否按了enter键,如果是,则模拟单击按钮,并且不执行key down事件的默认操作
这在Google Chrome、Firefox和IE8中运行良好。但是,它在IE11中不起作用。如何使此代码在IE11中工作?问题在于,将
event.cancel
设置为false
在IE11中没有任何作用。取消默认事件处理的公认方法是使用event.preventDefault()
函数。以下代码修复了该问题,并在IE11、Chrome和Firefox上运行:
if (event.keyCode == 13) {
event.preventDefault();
document.getElementById(btnId).click();
return false;
}
return true;
“进一步处理按键关闭事件”是什么意思?为了进一步处理,您不是指event.stopPropogation()?@Wishy我表达错误,我想要的是取消默认事件。文本已更新。