我一直在寻找这个,但没有任何解释。
对于 javascript 中的“onclick”和其他事件,返回false的事件处理程序意味着“阻止默认操作”。但是,“onmouseover”有一个例外。对于“onmouseover”,返回true表示“阻止默认操作”。
为什么“onmouseover”会有这样一个奇怪的例外情况?
我一直在寻找这个,但没有任何解释。
对于 javascript 中的“onclick”和其他事件,返回false的事件处理程序意味着“阻止默认操作”。但是,“onmouseover”有一个例外。对于“onmouseover”,返回true表示“阻止默认操作”。
为什么“onmouseover”会有这样一个奇怪的例外情况?
不要使用 return false / true来防止默认事件行为,而是使用事件对象的默认方法/属性:
elem.onmouseover = function(e) {
if (!e) var e = window.event; // IE
if(e.preventDefault) {
e.preventDefault();
} else {
e.returnValue = false; // IE
}
}
据我所知,返回true
以防止链接的 url 显示在状态栏中是 IE 特定的(错误)功能。试图理解为什么 IE 以它的方式做事往往是一个失败的原因 - 只是忍受它......
谁知道为什么真的。就是这样:您从 onmouseover 返回 TRUE 以防止 url 出现在状态栏中,这确实是默认行为。