我有一个菜单:
<ul id="littlemenu">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
$('#littlemenu').mouseout(function() {
$('#littlemenu').fadeOut();
$('#littlemenutri').hide();
});
li
{
background-color: red;
}
默认情况下隐藏,并在点击某些内容时显示。因此,您将光标移动到此列表,但只要您选择另一个LI,它就会消失。但我只附加了UL的mouseout()函数,而不是LI,它仍然消失了。当你将光标从UL移开时,我只想隐藏它,而不是从LI
移开答案 0 :(得分:3)
尝试mouseleave
事件而不是mouseout
事件。
mouseleave事件与mouseout处理事件的方式不同 冒泡。如果在这个例子中使用mouseout,那么当鼠标 指针移出Inner元素,处理程序就是 触发。这通常是不受欢迎的行为。 mouseleave事件, 另一方面,只有当鼠标离开时才触发其处理程序 它被绑定的元素,而不是后代。所以在这个例子中, 当鼠标离开外部元素时触发处理程序,但不是 内在元素。
$('#littlemenu').mouseleave(function() {
答案 1 :(得分:0)
我认为mouseout()不适合你想要达到的目标。试试mouseleave()