按下链接(.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 - >面板打开 - >点击它关闭的文档上的任意位置 然而,如果你单击/触摸面板本身甚至关闭它,这不是我想要的,我试图在你点击任何地方时这样做,但它关闭的下拉菜单。谢谢你的帮助。
答案 0 :(得分:0)
看到这篇文章:jQuery: Stop dropdown menu from collapsing when clicking on its children
如果您有这样的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>
您必须添加以下代码:
$('ul.nojs *').click(function(e){
e.stopPropagation();
});
看起来您使用的.account
就像其他帖子的.dropdown
一样。尝试使用此功能,如果无法使用,请在您的问题中发布DOM。