今天给人看一个 级联闪烁的bug 分析了很久 发现ie下mouseout事件触发频率太高了 !
解决办法 加一些检测代码 只要鼠标好在 他的子元素就不return 返回
代码如下
function category_overOut(id){
var theEvent = window.event || arguments.callee.caller.arguments[0];
var TempObj=theEvent.toElement?theEvent.toElement:theEvent.relatedTarget; //兼容ie firefox
if (document.getElementById(id).contains(TempObj)) { //如果是子元素
return; //结束函式
}
var theEvent = window.event || arguments.callee.caller.arguments[0];
var TempObj=theEvent.toElement?theEvent.toElement:theEvent.relatedTarget; //兼容ie firefox
if (document.getElementById(id).contains(TempObj)) { //如果是子元素
return; //结束函式
}
//执行的代码
document.getElementById(id).className='';
}
调用的时候在元素的直接定义 onmouseout="category_overOut(this.id)"