最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

詳解javascript事件冒泡_javascript技巧

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 21:48:34
文檔

詳解javascript事件冒泡_javascript技巧

詳解javascript事件冒泡_javascript技巧:事件是javascript中的核心內(nèi)容之一,在對事件的應(yīng)用中不可避免的要涉及到一個重要的概念,那就是事件冒泡,在介紹事件冒泡之前,先介紹一下另一個重要的概念事件流: 一.什么是事件流: 文檔對象模型(DOM)是一個樹形結(jié)構(gòu),可以形象的用下圖表示。 如果
推薦度:
導(dǎo)讀詳解javascript事件冒泡_javascript技巧:事件是javascript中的核心內(nèi)容之一,在對事件的應(yīng)用中不可避免的要涉及到一個重要的概念,那就是事件冒泡,在介紹事件冒泡之前,先介紹一下另一個重要的概念事件流: 一.什么是事件流: 文檔對象模型(DOM)是一個樹形結(jié)構(gòu),可以形象的用下圖表示。 如果
事件是javascript中的核心內(nèi)容之一,在對事件的應(yīng)用中不可避免的要涉及到一個重要的概念,那就是事件冒泡,在介紹事件冒泡之前,先介紹一下另一個重要的概念事件流:
一.什么是事件流:
文檔對象模型(DOM)是一個樹形結(jié)構(gòu),可以形象的用下圖表示。

如果一個html元素觸發(fā)事件,那么這個事件就會在DOM樹中的觸發(fā)節(jié)點和根節(jié)點之間按照一定的順序傳播,所有經(jīng)過的節(jié)點都會接收到被觸發(fā)的事件,這個傳播過程被稱之為事件流。按照事件的傳播順序,可以將其分為兩類,一種是事件冒泡,一種是事件捕獲,這里就涉及到本章要介紹的主題了:
1.事件冒泡:
所謂的時間冒泡就是當(dāng)一個元素觸發(fā)一個事件,事件會像是水泡一樣,從觸發(fā)元素向它的所有父節(jié)點傳播,一直到根節(jié)點都會接收到此事件,如果父元素中注冊了相應(yīng)的事件處理函數(shù),那么盡管事件在子節(jié)點觸發(fā)的,在父元素上注冊的事件處理函數(shù)同樣會被觸發(fā)。例如在上面圖示中,如果觸發(fā)a元素的onclick事件,那么它的父元素p、document和widow都會接收到此事件,并且如果在相應(yīng)的父元素注冊有時間處理函數(shù),那么此事件處理函數(shù)將會執(zhí)行,看一段代碼實例:




事件冒泡簡單介紹

以上代碼的目的是,當(dāng)點擊相應(yīng)的單元格的時候就會彈出對應(yīng)單元格中的內(nèi)容。但是在上面的實現(xiàn)中并不是為每一個單元格注冊onclick事件處理函數(shù),而是將onclick事件處理函數(shù)注冊于單元格的父元素table上,當(dāng)點擊單元格的時候會觸發(fā)onclick事件,事件還會從從事件對象向上傳播,而table元素恰好有注冊的onclick事件處理函數(shù),這個時候就會執(zhí)行此處理函數(shù),當(dāng)然這里會設(shè)置到傳遞事件對象參數(shù)的問題。所有的瀏覽器都支持事件冒泡。二.事件捕獲:
事件捕獲和事件冒泡恰好相反,當(dāng)點擊一個元素的時候,事件傳播的方向是從根元素到觸發(fā)元素,IE瀏覽器并不支持,為了跨瀏覽器支持,所以默認(rèn)情況下一般都是使用冒泡型事件處理模型。
2.javascript阻止事件冒泡代碼
事件冒泡在某些場景非常的有用,但是有時候也是必須要阻止,下面是一段能夠兼容所有主流瀏覽器的阻止事件冒泡的實例代碼。
代碼實例:

以上代碼可以阻止事件冒泡,下面對代碼做一下簡單注釋:
二、代碼注釋:

  • 1.function stopBubble(e) {},此函數(shù)用來阻止事件冒泡,參數(shù)是個事件對象。
  • 2. if(e&&e.stopPropagation){e.stopPropagation();},判斷是否支持stopPropagation,如果支持就使用e.stopPropagation()。stopPropagation()函數(shù)IE10和IE10以下瀏覽器不支持。
  • 3.window.event.cancelBubble=true,當(dāng)前IE瀏覽器使用這個可以阻止事件冒泡。
  • 聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    詳解javascript事件冒泡_javascript技巧

    詳解javascript事件冒泡_javascript技巧:事件是javascript中的核心內(nèi)容之一,在對事件的應(yīng)用中不可避免的要涉及到一個重要的概念,那就是事件冒泡,在介紹事件冒泡之前,先介紹一下另一個重要的概念事件流: 一.什么是事件流: 文檔對象模型(DOM)是一個樹形結(jié)構(gòu),可以形象的用下圖表示。 如果
    推薦度:
    標(biāo)簽: 事件 js 冒泡
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top