在作鼠标经过时的一些特效(combox,suggest,menutffu)时,使用用mouseover,mouseout,mousermove事 件时。如果某个html元素的position值为absolute时,ie7下,如果鼠标经过其子元素的空白处,上述事件将无效;如果经过文字时,事件 触发正常。但ie6下都正常。
注:无论事件如何定义结果一样(html标签,dom的属性,attachEvent)
解决办法:
一:为该元素设置background属性,值不能为transparent。
二:设置该元素的子元素的background属性,值不能为transparent。
如: <style type="text/css">
#main{
background-color:white;/*这个很重要,没有这个定义,IE7下不正常*/
position:absolute;
width:200px;
}
#main .hover{
background:blue;
color:white;
}
</style>
<div id="main">
<div>sddffd</div>
<div >sddffd</div>
<div>sddffd</div>
<div>sddffd</div>
<div>sddffd</div>
<div>sddffd</div>
</div>
<script type="text/javascript">
<!--
var t={}
var m=document.getElementById("main");
m.οnmοusemοve=function () {
o=event.srcElement;
if(o!=this){
t.className="";
o.className="hover";
t=o;
}
}
//-->
</script>
来源:http://hi.baidu.com/trarck/blog/item/0959da39711f6af43a87ced5.html