1.3 Event bubbling

先捕獲,再冒泡
當事件傳到 target 本身,沒有分捕獲跟冒泡
addEventListener
函數有第三個參數,true
代表把這個 listener 添加到捕獲階段,false
或是沒有傳就代表把這個 listener 添加到冒泡階段。
取消事件傳遞
e.stopPropagation
$list.addEventListener('click', (e) => {
console.log('list capturing', e.eventPhase);
e.stopPropagation();
}, true)
取消瀏覽器預設行為
e.preventDefault 最常見的做法就是阻止超連結
// list_item_link 的冒泡
$list_item_link.addEventListener('click', (e) => {
e.preventDefault();
}, false)
Last updated
Was this helpful?