Jquery 保持元素打开,单击其他位置时关闭
按下链接(.account)时,将显示下拉列表。然而,我很难弄清楚如何让下拉菜单在激活时保持向下,只有在按下下拉菜单外的任何位置时才关闭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").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();
});