六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 120|回复: 0

ie7元素position设为absolute其子元素mouseover,mouseout等鼠标事件失效

[复制链接]

升级  9.33%

16

主题

16

主题

16

主题

秀才

Rank: 2

积分
64
 楼主| 发表于 2013-2-7 19:15:26 | 显示全部楼层 |阅读模式
在作鼠标经过时的一些特效(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.onmousemove=function () {
          o=event.srcElement;
          if(o!=this){
               t.className="";
               o.className="hover";
               t=o;
          }
     }
  //-->
  </script>
 
来源:http://hi.baidu.com/trarck/blog/item/0959da39711f6af43a87ced5.html
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表