单击列表项时关闭下拉列表

时间:2015-03-05 16:57:07

标签: javascript jquery html

我有一个在悬停时激活的下拉列表(并在悬停休假时被解雇)。就悬停而言,它工作得很好。当用户单击下拉列表中的一个列表项时,我希望解除下拉列表,就好像他们已将鼠标从列表中移开一样。这就是我被困住的地方。

$(document).ready(function () { 
    $('.navigation li').hover(
        function () {
            $('ul', this).fadeIn();
        }, 
        function () {
            $('ul', this).fadeOut();        
        }
    );

    // this is where I am attempting to dismiss the drop down list
    // the console output appears just fine, but the drop down list does not
    // go away.
    $('.navigation li').click(function () {
        console.log("clicked");
        $('.ul', this).fadeOut();
    });
});

可能需要注意的是,每次点击都会出现两次控制台输出。不确定是什么意思......

1 个答案:

答案 0 :(得分:2)

您定位的是ul,而不是<ul>代码。

将最后一个代码更改为:

$('.navigation li').click(function () {
    console.log("clicked");
    $('ul', this).fadeOut(); // changed
});

这通常是简单的事情。 : - )