森欄
2022-12-22 15:28:57
我正在嘗試將事件偵聽器添加到容器和存檔這兩個元素。它們在這個層次結構中——容器->時間戳->歸檔。我通過以下方式向存檔按鈕添加了一個事件監(jiān)聽器,archive.addEventListener('click', ()=>{
console.log("HI");
})以類似的方式,我將事件偵聽器附加到存檔按鈕的父容器,container.addEventListener('click', ()=>{
open_email(element.id);
})每當我單擊存檔按鈕時,都會觸發(fā)容器的事件偵聽器,這是不可取的。我嘗試查找事件委托但沒有解決這個問題的任何想法。任何幫助,將不勝感激。
2 回答

絕地無雙
TA貢獻1946條經(jīng)驗 獲得超4個贊
const parent = document.querySelector('.parent');
const child = document.querySelector('.child');
parent.onclick = e => {
console.log('You shouldn\'t see this');
}
child.onclick = e => {
e.stopPropagation();
console.log('Only child listener fired')
}
<div class='parent'>
<div class='child'>Child</div>
</div>
event.stopPropagation
停止觸發(fā)更多事件。

幕布斯6054654
TA貢獻1876條經(jīng)驗 獲得超7個贊
您只需要停止事件的傳播
archive.addEventListener('click', (e)=>{
e.stopPropagation();
console.log("HI");
})
添加回答
舉報
0/150
提交
取消