美文网首页
鼠标点击菜单以外的地方 使下拉菜单消失

鼠标点击菜单以外的地方 使下拉菜单消失

作者: 边沉 | 来源:发表于2017-08-11 16:03 被阅读0次

    //点击“显示菜单”按钮时,显示菜单,并阻止事件冒泡

    document.querySelector('.showBtn').addEventListener('click', function(e){
        document.querySelector('.menu').classList.add('show');
        e.stopPropagation();//关键在于阻止冒泡
    }, false);
    

    //点击“菜单”内部时,阻止事件冒泡。(这样点击内部时,菜单不会关闭)

    document.querySelector('.menu').addEventListener('click', function(e){
        e.stopPropagation();
    }, false);
    

    //监听整个document的点击事件,如果能收到事件(说明点击源既不是“显示菜单”按钮,也不来自菜单内部),就可以放心关闭菜单了

    document.addEventListener('click', function(){
        document.querySelector('.menu').classList.remove('show');
    }, false);
    

    相关文章

      网友评论

          本文标题:鼠标点击菜单以外的地方 使下拉菜单消失

          本文链接:https://www.haomeiwen.com/subject/opqrrxtx.html