jquery - 如何通过单击屏幕上的空白点来关闭汉堡菜单? (类 : overlay-burger)

标签 jquery html css

我必须将哪个代码添加到 JS,才能通过单击空白处关闭汉堡菜单?

<div class="main-header">
    <div class="hamburger-menu">
        <a href="#" class="menu-btn">
            <span></span>
        </a>
        <nav class="links-menu">
            <a href="" class="nav-point">About</a>
            <a href="" class="nav-point">Services</a>
            <a href="" class="nav-point">Calculator</a>
            <a href="" class="nav-point">News</a>
            <a href="" class="nav-point">Contact</a>
        </nav>
        <div class="overlay-burger"></div>
    </div>
</div>

JS:

$('.menu-btn').on('click', function(e) {
    e.preventDefault();
    $(this).toggleClass('menu-btn-active');
    $('.links-menu').toggleClass('links-menu-active');
});

最佳答案

如果用户没有点击按钮,则删除事件类:

window.onclick = function(event) {
  if (!event.target.matches('.menu-btn')) { 
    $('.links-menu').removeClass('links-menu-active'); // remove active class from the nav
    $('.menu-btn').removeClass('menu-btn-active'); // remove active class from button
  }
}

关于jquery - 如何通过单击屏幕上的空白点来关闭汉堡菜单? (类 : overlay-burger),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58017414/

相关文章:

jquery - 为什么 editurl : 'clientData' when deleting a second row from jqGrid? 出现 404 错误

javascript - Bootstrap 多选动态选择动态添加的字段不起作用

CSS 不适用于 body 标签

javascript - jQuery 在滚动时平滑地更改 css 属性

html - 表格宽度左右滚动站点

jquery - 悬停时显示近距离图像

jquery - 如何用jquery制作进度条?

html - 滚动时div的背景消失

css - 图像在缩放时未与 div 对齐

html - 如何删除 CSS 中下拉菜单的顶部框阴影?