我使用<UL>
和<LI>
创建了导航。离开导航<UL>
我想做点什么。我写的代码如下。
请帮助我理解为什么从<LI>
移动到另一个<UL>
时执行以下代码,而不仅仅是在离开<ul id='navigation'>
<li>a</li>
<li>b</li>
<li>c</li>
<li>d</li>
</ul>
#navigation li
{
display:inline;
float:left;
width:50px;
border-right:1px solid black;
padding:2px;
}
jQuery("#navigation").mouseout(function(){
alert("hi");
});
时。
{{1}}
答案 0 :(得分:7)
来自JQuery文档 - http://api.jquery.com/mouseout/
此事件类型可能会导致很多 因事件冒泡而头疼。对于 例如,当鼠标指针移动时 超出了内在元素 例如,将发送mouseout事件 然后,然后涓涓细流到外面。 这可以触发绑定的mouseout 在不合时宜的处理程序。见 .mouseleave()的讨论 有用的替代方案。
答案 1 :(得分:2)
mouseleave事件不同于 mouseout处理事件的方式 冒泡。如果使用mouseout 这个例子,然后当鼠标 指针移出内心 元素,处理程序将是 触发。这通常是不合需要的 行为。 mouseleave事件,在 另一方面,只触发其处理程序 当鼠标离开元素时 是必然的,而不是后代。所以 这个例子,处理程序被触发 当鼠标离开外面时 元素,但不是内在元素。