我的身体上有一个点击监听器:
document.body.addEventListener('click', function(e){
});
它就在那里当用户点击我的网站主体或任何其他元素时,任何打开的弹出窗口都会关闭。
但是我想阻止点击弹出窗口(除了X按钮)触发事件。
我该怎么做?
答案 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。