gpt4 book ai didi

javascript - 在文档的任何地方更改类 onclick 以关闭菜单?

转载 作者:行者123 更新时间:2023-11-30 18:39:09 26 4
gpt4 key购买 nike

我使用此代码打开和关闭菜单。当有人点击屏幕上的任何地方时,如何关闭它?

function showElement(layer){
var myLayer = document.getElementById(layer);
if(myLayer.style.display=="none"){
myLayer.style.display="block";
myLayer.backgroundPosition="top";
} else {
myLayer.style.display="none";
}
}

HTML

<div style="float:left;">
<a href="#" class="button" onclick="javascript:showElement('v-menu')">
<span>Monitoring</span></a>
<ul id="v-menu" class="v-menu" style="display:none;" >
<li><a href="#" onclick="javascript:showElement('v-menu')">Start</a></li>
<li><a href="#">Stop</a></li>
</div>

最佳答案

你需要做两件事来实现这一点:

为整个文档绑定(bind)一个点击事件,如果菜单显示则隐藏。

document.addEventListener("click", function(event) {
var menu = document.getElementById('v-menu');
if (event.target !== menu && menu.style.display == 'block')
menu.style.display = "none";
});

单击菜单时停止单击事件传播,因此事件不会冒泡到文档。

<a href="javascript:void(0)" class="button" 
onclick="showElement('v-menu'); event.stopPropagation()">

实际操作:http://jsfiddle.net/william/Pfv8N/ .

关于javascript - 在文档的任何地方更改类 onclick 以关闭菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7369674/

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