1
我有我的身体点击收听:防止身体点击某些DOM元素
document.body.addEventListener('click', function(e){
});
它的存在,所以当用户单击我的网站或任何其他元素的身体,任何打开弹出窗口被关闭。
但我想阻止点击弹出(除了X按钮)触发事件。
我该怎么做?
我有我的身体点击收听:防止身体点击某些DOM元素
document.body.addEventListener('click', function(e){
});
它的存在,所以当用户单击我的网站或任何其他元素的身体,任何打开弹出窗口被关闭。
但我想阻止点击弹出(除了X按钮)触发事件。
我该怎么做?
您需要防止事件冒泡。为此,请使用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。
检查它为您提供单击事件生成的元素的“e.target”。如果它的弹出式元素,什么都不做 – abhishekkannojia