使用纯JavaScript通过链接或单击外部来关闭菜单,可以通过以下步骤实现:
// 获取菜单元素
const menu = document.getElementById('menu');
// 添加点击事件监听器
document.addEventListener('click', function(event) {
// 检查点击事件是否发生在菜单内部
const isClickInsideMenu = menu.contains(event.target);
// 如果点击事件发生在菜单外部,则关闭菜单
if (!isClickInsideMenu) {
// 关闭菜单的操作
menu.style.display = 'none';
}
});
// 获取链接元素
const link = document.getElementById('link');
// 添加点击事件监听器
link.addEventListener('click', function(event) {
// 阻止事件冒泡
event.stopPropagation();
});
// 获取菜单按钮元素
const menuButton = document.getElementById('menu-button');
// 添加点击事件监听器
menuButton.addEventListener('click', function(event) {
// 打开菜单的操作
menu.style.display = 'block';
// 添加点击事件监听器,用于关闭菜单
document.addEventListener('click', closeMenu);
});
// 关闭菜单的函数
function closeMenu() {
// 关闭菜单的操作
menu.style.display = 'none';
// 移除点击事件监听器
document.removeEventListener('click', closeMenu);
}
通过以上步骤,我们可以实现通过链接或单击外部来关闭菜单的功能。当点击菜单按钮时,菜单将打开,并为整个文档添加一个点击事件监听器。当点击菜单外部时,菜单将关闭。同时,为了避免点击链接时触发关闭菜单的操作,我们还为链接添加了一个点击事件监听器,并阻止了事件冒泡。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云