当鼠标光标被拿走时,仅隐藏UL列表

时间:2014-02-25 15:20:46

标签: javascript jquery html css

我有一个菜单:

<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;
}

http://jsfiddle.net/5CVFa/

默认情况下隐藏,并在点击某些内容时显示。因此,您将光标移动到此列表,但只要您选择另一个LI,它就会消失。但我只附加了UL的mouseout()函数,而不是LI,它仍然消失了。当你将光标从UL移开时,我只想隐藏它,而不是从LI

移开

2 个答案:

答案 0 :(得分:3)

尝试mouseleave事件而不是mouseout事件。

  

mouseleave事件与mouseout处理事件的方式不同   冒泡。如果在这个例子中使用mouseout,那么当鼠标   指针移出Inner元素,处理程序就是   触发。这通常是不受欢迎的行为。 mouseleave事件,   另一方面,只有当鼠标离开时才触发其处理程序   它被绑定的元素,而不是后代。所以在这个例子中,   当鼠标离开外部元素时触发处理程序,但不是   内在元素。

http://jsfiddle.net/Bz8DP/

$('#littlemenu').mouseleave(function() {

答案 1 :(得分:0)

我认为mouseout()不适合你想要达到的目标。试试mouseleave()