防止身体点击某些dom元素

时间:2017-10-12 14:38:46

标签: javascript

我的身体上有一个点击监听器:

document.body.addEventListener('click', function(e){

});

它就在那里当用户点击我的网站主体或任何其他元素时,任何打开的弹出窗口都会关闭。

但是我想阻止点击弹出窗口(除了X按钮)触发事件。

我该怎么做?

1 个答案:

答案 0 :(得分:5)

您需要防止事件冒泡。为此,请使用event.stopPropagation (),这将停止将点击事件传播到DOM中的元素(例如正文)。

所以在你的情况下,它会是这样的:

document.body.addEventListener('click', function(e){
    // Close modal
});

specificOtherElement.addEventListener('click', function(e){
    e.stopPropagation ();
    // Do other stuff eventually
});

有关详细信息,请参阅https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation