Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 保持元素打开,单击其他位置时关闭_Jquery_Drop Down Menu - Fatal编程技术网

Jquery 保持元素打开,单击其他位置时关闭

Jquery 保持元素打开,单击其他位置时关闭,jquery,drop-down-menu,Jquery,Drop Down Menu,按下链接(.account)时,将显示下拉列表。然而,我很难弄清楚如何让下拉菜单在激活时保持向下,只有在按下下拉菜单外的任何位置时才关闭 $(".account").click(function(e){ e.stopPropagation(); var oBody = $("body") oButton = $(".account") if (oBody.hasClass

按下链接(.account)时,将显示下拉列表。然而,我很难弄清楚如何让下拉菜单在激活时保持向下,只有在按下下拉菜单外的任何位置时才关闭

        $(".account").click(function(e){

            e.stopPropagation();

            var oBody = $("body")
                oButton = $(".account")

            if (oBody.hasClass("open-says-me") & oButton.hasClass("active")) 
            {
                oBody.removeClass("open-says-me");
                oButton.removeClass("active");

                jQuery(document).off("touchstart click");

            } else {

                oBody.addClass("open-says-me");
                oButton.addClass("active");


                jQuery('html').on("touchstart click", function() {
                        oBody.removeClass("open-says-me");
                        oButton.removeClass("active");
                    });
            }

        });
如何使其仅在用户单击/触摸下拉列表之外的任何位置时保持打开和关闭状态。
使用我的实际代码,当我用.account->Panel Opens->单击文档上的任意位置并关闭时。
然而,如果你点击/触摸面板本身,它甚至会关闭,这不是我想要的,我正试图让它这样,当你点击任何地方,但下拉菜单关闭。谢谢你的帮助。

看到这篇文章:
如果您有这样一个DOM:

<ul class="dropdown">
 <li><a href="#" class="noclick nojs">Select your Topic</a>
  <ul class="nojs" >
    <li><a href="#">Link 1</a></li>
    <li><a href="#">Link 2</a></li>
    <li><a href="#">Link 3</a></li>
  </ul>
 </li>
</ul>

看起来您使用的
.account
类似于另一篇文章的
.dropdown
。尝试一下,如果您的DOM无法正常工作,请在问题中发布它。

当前代码有什么问题?实际发生了什么?单击按钮。帐户->面板打开->单击文档关闭的任意位置。但是,如果单击/触摸面板本身,它甚至会关闭。这不是我想要的,我试图得到它,所以当你点击任何地方,但它关闭下拉列表。请用您的附加信息编辑问题,它会更清晰。“然而,我很难弄清楚如何让下拉列表在激活时保持向下,只有在按下下拉列表以外的任何位置时才关闭”它确实说明了您的愿望,但并没有说明您的代码实际出了什么问题。我编辑你的问题。。。
$('ul.nojs *').click(function(e){
   e.stopPropagation(); 
});​