JS下拉菜单未关闭

JS Dropdown menu not closing?

本文关键字:下拉菜单 JS      更新时间:2023-09-26

所以我在这里找到了这个小提琴:http://jsfiddle.net/8qPvp/4/我以为我只会将其用于个人教育目的。我对 JS 真的很陌生,我注意到打开的父项不会像打开一样在单击时返回。如何解决这个问题?

$(document).ready(function () {
    $("li").click(function () {
        $('li > ul').hide();
        $(this).children("ul").toggle();
    });
});

这个呢:

$("li").click(function () {
    $('li > ul').hide();
    $(this).children("ul").toggle();
});
$(document).click(function()
{
    $('li > ul:visible').hide();
})
$('.menu li').click(function(e)
{
    e.stopPropagation();          
})

因此,默认情况下,每当单击文档中的任何地方时,您的可见菜单都将被隐藏。但是,当您打开新菜单时,您不希望发生这种情况(将;可见并直接隐藏)。所以我做了一个例外,当你想打开一个新菜单时,我会取消文档点击 event.
我使用 event.stopPropagation() 来取消一个事件。

js小提琴

$(document).ready(function () {
    $("li").click(function () {
        $('li > ul').hide();
        $(this).children("ul").toggle();
    }).mouseleave(function(){
        $(this).children("ul").hide();
    });
});

检查这个小提琴 http://jsfiddle.net/Aveendra/8qPvp/18/