JS 事件捕獲與事件冒泡

2022-09-23 17:30:14 字數 1076 閱讀 9731

點選a時, 同時觸發p div

冒泡 觸發事件順序 a -> p -> div

捕獲 觸發事件順序 div -> p -> a

1event.stoppropagation();[ˌprɒpəˈɡeɪʃən] 傳遞

會阻止事件捕獲和事件冒泡,但是無法阻止標籤的預設行為,例如點選鏈結任然可以開啟對應網頁。

function showalert(event) 

var elems = document.queryselectorall("div, p, a");

for(let elem of elems)

2event.stopimmediatepropagation()[ i mi: diət] 立刻的,之後的

阻止同一節點的同一事件的其它事件處理程式,例如為某個節點定義了多個點選事件,當事件觸發時,這些事件會按定義順序依次執行,如果其中乙個事件處理程式中使用了 stopimmediatepropagation() 方法,那麼剩下的事件處理程式將不再執行。

function sayhi(event) 

function sayhello()

// 為 id 為 link 的標籤定義多個點選事件

var link = document.getelementbyid("link");

link.addeventlistener("click", sayhi);//阻止下面的點選事件sayhello

link.addeventlistener("click", sayhello);

3event.preventdefault();

阻止預設操作, 某些事件具有與之關聯的預設操作,例如當您單擊某個鏈結時,會自動跳轉到指定的頁面

var link = document.getelementbyid("link");

link.addeventlistener('click', function(event));

JS事件冒泡與事件捕獲

1,ie只冒泡,w3c先捕獲再冒泡 鑑於我自己理解事件冒泡和捕獲的艱辛歷程 看了數篇博文之後,我猜這個問題是不是很難 後來發現不是,難是應用到高階的功能中 我要把此文寫得足夠輕便,新手易懂。為了方便測試 直接複製到html裡面 這個 很直觀了,事件冒泡 的過程 事件從發生的目標 event.srce...

js事件(事件冒泡與事件捕獲)

事件冒泡和事件捕獲分別由微軟和網景公司提出,這兩個概念都是為了解決頁面中事件流 事件發生順序 的問題。點選 上面兩個點選事件如果點選的時候,到底誰會被先觸發呢,為了解決這個問題微軟和網景提出了兩種幾乎完全相反的概念。微軟提出了名為事件冒泡 event bubbling 的事件流。事件冒泡可以形象地比...

事件捕獲與事件冒泡

事件傳播模型 事件捕獲和事件冒泡兩個過程 即事件先到達根元素,再從根元素一層一層向下傳播到目標元素,然後再一層一層向上傳到根元素。one twothree four var one document.getelementbyid one var two document.getelementbyid...