我已经寻找了一段时间,但没有找到任何解释。
在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为什么会这样做通常是徒劳无功的 - 只能接受它...