关于ul标签onmouseout事件的问题

glovej 2011-04-14 04:08:24
我写了一个代码,主要是想在鼠标移出ul范围时触发事件,但是我发现结果和我预期的不一样,鼠标往往还没移出ul范围,而仅仅是移出了其中的一个li范围时就触发了mouseout事件,求原因及解决方法
代码如下
<script type=text/javascript>
function show()
{
alert("abc");
}
</script>
<ul id=u1 onmouseout="show();">
<li><a href=#>aaaaaaaaa</a></li>
<li><a href=#>bbbbbbbbbbb</a></li>
<li><a href=#>cccccccccccc</a></li>
</ul>

比如鼠标从第一个li往下移到第二个li的时候,就会触发mouseout事件,而我希望是彻底移出整个ul标签时才触发
...全文
533 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujialuntianxin 2013-03-07
  • 打赏
  • 举报
回复
真心有用,学习到了。感谢楼主
glovej 2011-04-19
  • 打赏
  • 举报
回复
结贴散分
neubaixu 2011-04-15
  • 打赏
  • 举报
回复
这个是冒泡问题,我也没有想到好的解决方案 不过你可以这样试一试
<ul id=u1 onmouseout="show();">
<li><a href=# onmouseout="event.stopPropagation();">aaaaaaaaa</a></li>
<li><a href=# onmouseout="event.stopPropagation();">bbbbbbbbbbb</a></li>
<li><a href=# onmouseout="event.stopPropagation();">cccccccccccc</a></li>
</ul>
对每一个li进行冒泡的阻止 这是firefox的代码
乌镇程序员 2011-04-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zell419 的回复:]

这个应该就是冒泡了吧 。
[/Quote]
事件冒泡这个事情还真是麻烦啊,以前没碰到过,这几天泡在论坛里已经碰到好几个由事件冒泡引起的问题了,看来得深入了解一下,现在只是知道有这么回事,然后用网上搜索来的一段阻止冒泡的代码来解决问题,但还是不太明白为什么会出现这样的问题。
zell419 2011-04-14
  • 打赏
  • 举报
回复
这个应该就是冒泡了吧 。
乌镇程序员 2011-04-14
  • 打赏
  • 举报
回复
mouseleave()是jQuery中的事件,不是标准事件吧?
glovej 2011-04-14
  • 打赏
  • 举报
回复
如果是这样话希望大家进来帮忙散一下分=.=
glovej 2011-04-14
  • 打赏
  • 举报
回复
无语 ,刚发现问题,好像应该用mouseleave,而不是mouseout?
mouseout是不是对子元素也应用的

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧