日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DOM冒泡事件

發布時間:2025/6/17 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DOM冒泡事件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、注冊事件的三種方式

1 on的方式

語法:

事件源.on+事件名稱 = 事件處理程序

例如:

btn.onclick = function(){}

?

?

細節:

只能注冊一個事件處理函數

兼容:

所有主流瀏覽器都兼容

2?? addEventListener

語法:

事件源.addEventListener(事件名稱,事件處理程序,在哪個階段執行)

例如:

btn.addEventListener(“click”,function (){},false)

?

?

細節:

事件名稱不能帶有on

可以為事件綁定多個處理程序

在事件處理函數中,this是對應的事件源

兼容:

ie8不支持

3?? attachEvent

語法:

事件源.attachEvent(on+事件名稱,事件處理程序)

例如:

btn.attachEvent(“onclick”,function(){})

?

?

細節:

也可以注冊多個事件

注冊的事件要帶上on

在事件處理函數中,this是window

兼容

ie6到ie10支持,其余都不支持

?

4?? 注冊事件的兼容寫法

原理:

判斷當前瀏覽器支持誰,支持哪個就用哪個來注冊

function addListener(element,event,fn){if (element.attachEvent){element.attachEvent(“on”+event,fn)}else if(element.addEventListener) {element.addEventListener(event,fn,false)}else {element["on"+event] = fn;}}

?

?

?

二、移除事件綁定的處理程序

1 on的方式

方法:

事件源.on+事件名 = null;

2?? removeEventListener

語法:

事件源.removeEventListener(事件名,處理程序,在哪個階段)

例子:

btn.removeEventListener(“click”,clickHandel,false)

?

?

細節:

如果你在不同的階段分別綁定了兩個函數,要分開移除

移除的是使用addEventListener綁定的處理程序

兼容:

ie8不支持

3?? detachEvent

語法:

事件源.detachEvent(on+事件名,處理程序)

例子:

btn.detachEvent(“onclick”,clickHandle)

?

?

細節:

移除的是使用attachEvent綁定的處理程序

兼容:

ie6-ie10支持,其余不支持

?

三、事件的三個階段

事件的三個階段分為:事件捕獲階段、事件目標階段、事件冒泡階段

?

要知道事件的階段,需要通過一個屬性:?event.eventPhase?

?

當eventPhase的值為1的時候,是事件捕獲階段,為2的時候是事件的目標階段,為3的時候是冒泡階段

?

事件在出現的時候

只會包含兩個階段:

a)??? 捕獲和目標

b)??? 冒泡和目標

冒泡和捕獲不會同時出現

?

三個階段的異同:

事件在觸發的時候,是有一個過程的

?

事件冒泡:后代元素觸發某一個類型的事件,同時這個元素會傳遞到前代元素,并且觸發前代元素的同類事件

事件捕獲:發生某種類型的事件的時候,先有捕獲的過程,先從前代元素遞到觸發事件的事件源子元素

事件目標階段:事件觸發到達事件源的時候

阻止冒泡

StopPropagation();//IE8不支持 CancelBubble=true

?

?

?

On+eventType? 相應的解綁方式:事件源.eventType=null;

?

AddEventListener? 相應的解綁方式:事件源.removeEventListener(type,已經綁定的處理程序的函數名,對應的階段);????????

以匿名函數的時候綁定的,是無法解綁的

?

如果綁定的時候,執行處理程序的階段不同(第三個參數的true和false不同),在解綁的時候,也必須使用相應的觸發階段才能成功解綁,簡而言之,如果是綁定的時候是false,解綁的時候也必須是false

?

解綁的時候只會解綁相同的函數名,如果不同就不會解綁,同名的函數重復綁定無效

?

attachEvent?? 相應的解綁方式:事件源.detachEvent(“on”+type,對應的綁定的函數名);、如果是以匿名函數的方式,也是無法解綁

每次解綁,函數名必須相同,否則不會解綁

總結:是用什么方式綁定事件處理程序,就必須使用相應的解綁方式解綁

四、事件的類型

得知事件的類型也是通過事件的一個屬性獲得

event.type

得到的是不帶on的事件名稱

?

利用這個屬性,我們可以實現給一個元素注冊多個事件,卻調用同一個函數

轉載于:https://www.cnblogs.com/chrischan/p/6730494.html

總結

以上是生活随笔為你收集整理的DOM冒泡事件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 人成亚洲 | 国产在线观看www | 久色88| 丁香婷婷色 | 久久在线视频 | 色臀av | 性按摩玩人妻hd中文字幕 | 先锋影音久久 | 成人免费一区 | 自拍中文字幕 | 成人小视频免费看 | 内射中出日韩无国产剧情 | 国产a√精品区二区三区四区 | 久久久在线视频 | 噜噜色综合| 刘亦菲久久免费一区二区 | 国产在线观看一区二区三区 | 男人天堂视频在线观看 | 人人爽人人草 | 日本午夜一区二区三区 | 青青青国产精品一区二区 | 法国空姐在线观看免费 | 99人妻少妇精品视频一区 | 欧美伦乱 | 香蕉久久夜色精品升级完成 | 蜜桃av导航 | 欧美美女在线 | 狠狠干夜夜草 | 国产精品久久久久久亚洲调教 | 日韩精品中字 | 欧美资源 | 永久免费看片在线播放 | 七月丁香婷婷 | 综合色av | 中文字幕一区二区三区四区免费看 | 免费看60分钟黄视频 | jizz俄罗斯| 中文字幕免费中文 | 亚洲清色 | 国产色在线观看 | 成年人的毛片 | 色婷婷综合视频 | 善良的老师伦理bd中字 | 日本黄色一级 | 成人www | 中文字幕黄色av | 秋霞欧美视频 | 国产又粗又猛又爽又黄的 | 日韩电影一区二区 | 图片区亚洲色图 | 久久五 | 国产一级18片视频 | 99re视频在线播放 | 欧美成人午夜视频 | 欧美日韩成人在线视频 | 欧美囗交做爰视频 | 九九视频精品在线 | 婷婷综合亚洲 | 国产精品久久999 | av一区二区免费 | 国产精品免费av一区二区三区 | 欧美在线视频你懂的 | 色婷婷狠狠18禁久久 | 国产经典一区 | 亚洲精品一区在线 | 日韩精品三区 | 亚洲美女在线观看 | 又白又嫩毛又多15p 超碰在线一区 | 91字幕网| 亚洲激情二区 | 成人精品免费在线观看 | 91中文字幕视频 | 四虎永久免费在线观看 | 蜜桃精品在线观看 | 午夜视频免费 | 少妇毛片一区二区三区粉嫩av | 痴汉电车在线播放 | 午夜日韩精品 | 精品国产免费av | 91插插插插插插插 | 99免费视频 | 亚洲精品无码永久在线观看 | 国产区福利 | 国产精品污污 | 人与禽一级全黄 | 毛片在线播放视频 | 久久精品三级视频 | 一级特黄肉体裸片 | 夜夜摸夜夜操 | 艳妇臀荡乳欲伦交换在线播放 | 欧美激情亚洲色图 | 另类少妇人与禽zozz0性伦 | 视频在线日韩 | 91亚洲精品乱码久久久久久蜜桃 | 欧美性做爰猛烈叫床潮 | 天天射夜夜撸 | 久久av高潮av| 激情久久视频 | 在线中文字幕网站 |