gpt4 book ai didi

javascript - 关闭以单击其他位置的下拉菜单

转载 作者:行者123 更新时间:2023-11-30 15:54:01 24 4
gpt4 key购买 nike

我有这个样本:

jQuery('.account strong').click(function(e){
jQuery(this).parent('div').addClass('show');
jQuery('.account-dropdown').slideToggle(200);
});
.account-dropdown{
background: #fff;
border-radius: 0 3px 3px 3px;
box-shadow: 2px 3px 7px #555;
display: none;
left: 0;
padding: 10px;
position: absolute;
text-align: left;
top: 46px;
width: 145px;
z-index: 2;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="account">
<strong>Your account</strong>
<div class="account-dropdown">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</div>

我想更改我的脚本,这样当您打开它时,菜单可以在任何地方关闭。

例如,如果当前打开的菜单仅在我们单击 ".account strong ' 时关闭。

我希望菜单在 less div 'account-dropdown' 的任何位置关闭。

你能帮我解决这个问题吗?

提前致谢!

最佳答案

你可以引用下面的代码:

$('.account strong').click(function(e) {
$(this).parent('div').addClass('show');
$('.account-dropdown').slideToggle(200);
e.stopPropagation();
});

$(document).on('click', function(e) {
if ($('.account-dropdown').is(":visible")) {
if ($(e.target).closest(".account-dropdown").length === 0) {
$('.account-dropdown').slideToggle(200);
}
}
});
.account-dropdown {
background: #fff;
border-radius: 0 3px 3px 3px;
box-shadow: 2px 3px 7px #555;
display: none;
left: 0;
padding: 10px;
position: absolute;
text-align: left;
top: 46px;
width: 145px;
z-index: 2;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="account">
<strong>Your account</strong>
<div class="account-dropdown">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
</div>

关于javascript - 关闭以单击其他位置的下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38844085/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com