| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 639 人关注过本帖
标题:请教一个奇怪的冒泡问题
只看楼主 加入收藏
lili123456
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2010-2-21
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
请教一个奇怪的冒泡问题
最近写一菜单,在获取元素上不同的方法直接导致了冒泡发生与不发生,看代码:

fu.onmouseout=function(){
    this.style.display=""
    }

第一方法:上边是当鼠标离开时,fu隐藏,但是fu下边有a标签,鼠标离开a标签同样触发事件。于是又针对a标签写了一段阻止冒泡的代码。

for(var s=0;s<li.length;s++){
    li[s].onmouseover=function(){
        this.children[1].style.display=""
        }
    }

第二方法:上边是当鼠标离开时,li的下边第二个子元素隐藏,但是li下边的第二个子元素下边有a标签,鼠标离开a标签不触发事件。


这是为什么?
搜索更多相关主题的帖子: 冒泡 
2010-05-19 09:44
frankqnj
Rank: 4
等 级:贵宾
威 望:12
帖 子:320
专家分:278
注 册:2008-4-6
收藏
得分:5 
可以参考使用  ie专用 mouseenter mouseleave 代替 mouseover mouseout  非ie使用 事件代理模式  判断事件源 是否是 代理的 子节点 . 方法 很容易解决 你的困扰
2010-05-19 11:01
gupiao175
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:40
帖 子:1787
专家分:7527
注 册:2007-6-27
收藏
得分:5 
我记得IE的处理事件流用的是冒泡型事件,而DOM规则里也有类似方法!
你用 event.cancelBubble = true;试试阻止事件向上帽泡,相应的mozila浏览器里有类似方法event.stopPropagation;试试!


Q:1428196631,百度:开发地 即可找到我,有事请留言!
2010-05-19 14:43
快速回复:请教一个奇怪的冒泡问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022087 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved