【发布时间】:2019-08-16 11:40:12
【问题描述】:
我正在尝试设置一个下拉菜单,可以通过单击外部(打开的 div)和单击按钮/img(打开 div)来关闭它。
带有点击功能的图片:
<img onclick="hide()" id="menu" src="....">
应该打开和关闭的下拉列表,类声明下拉为display:none:
<ul id="dropdown" class="dropdown-breadcrumb">
<li>...</li>
</ul>
这是我目前的解决方案:
function hide() {
var x = document.getElementById("dropdown");
if (x.style.display === "none") {
x.style.display = "block";
} else {
x.style.display = "none";
}
}
当我尝试添加一个功能时,当用户在下拉列表之外单击时关闭下拉列表:
window.addEventListener('mouseup',function(event){
var dropd = document.getElementById('dropdown');
if(event.target != dropd && event.target.parentNode != dropd){
dropd.style.display = 'none';
}
});
然后我会打开一个下拉菜单,因为 onclick 功能启动了。
有人可以帮我组合这些功能吗?谢谢!
【问题讨论】:
标签: javascript jquery css onclick addeventlistener