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