要使用纯JavaScript通过链接或点击外部来关闭菜单,你需要执行以下步骤:
以下是一个简单的示例,展示了如何实现点击外部关闭菜单的功能:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Close Menu on Outside Click</title>
<style>
#menu {
display: none;
position: absolute;
background: #fff;
border: 1px solid #ccc;
padding: 10px;
}
</style>
</head>
<body>
<button id="menuButton">Open Menu</button>
<div id="menu">
<a href="#">Option 1</a><br>
<a href="#">Option 2</a><br>
<a href="#">Option 3</a>
</div>
<script>
const menuButton = document.getElementById('menuButton');
const menu = document.getElementById('menu');
menuButton.addEventListener('click', function(event) {
event.stopPropagation(); // 阻止事件冒泡
menu.style.display = 'block';
});
document.addEventListener('click', function() {
menu.style.display = 'none';
});
menu.addEventListener('click', function(event) {
event.stopPropagation(); // 防止点击菜单内部时关闭菜单
});
</script>
</body>
</html>
div
元素作为菜单容器。document
上的点击事件监听器正确设置,并且没有其他脚本阻止了事件的正常传播。event.stopPropagation()
来阻止点击事件传播到文档。通过这种方式,你可以实现一个简单而有效的点击外部关闭菜单的功能。
领取专属 10元无门槛券
手把手带您无忧上云