点击空白地方关闭弹窗


<div id="mask">
        <div id="content">
            <button id="btn">
                点我关闭
            </button>
        </div>
    </div>
    <script>
        const mask = document.getElementById('mask');
        const content = document.getElementById('content');
        const btn = document.getElementById('btn');

        btn.onclick = function() {
            content.style.display = 'none';
        }
        
      // 在蒙层上加上监听事件,若是当前的currenttarget 和target相等,则是点击在蒙层上
        mask.addEventListener('click',function(e) {
            if(e.currentTarget === e.target){
                content.style.display = 'none';
            }
        },false)
    </script>

这个点击空白区域关闭弹窗的原理主要是: 判断点击的目标是否在除自身以外的蒙层上;但如何能判断这个呢?事件里有两个属性,一个是target,一个是currentTarget,二者区别主要是:target是作用在目标元素上,而currentTarget则是作用在监听元素上,所以,在蒙层上设一个监听事件,当鼠标点击在蒙层上时,就可以关闭弹窗;



版权声明:本文为F_G_Victory原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
THE END
< <上一篇
下一篇>>