最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

關(guān)于DOM0級(jí)處理事件、DOM2級(jí)處理事件、阻止冒泡的一點(diǎn)心得

2023-03-28 18:12 作者:春嬌與誌明  | 我要投稿

什么是事件流?

事件流描述的是從頁(yè)面中接受事件的順序,但有意思的是,微軟(IE)和網(wǎng)景(Netscape)開發(fā)團(tuán)隊(duì)居然提出了兩個(gè)截然相反的事件流概念,IE的事件流是事件冒泡流(event bubbling),而Netscape的事件流是事件捕獲流(event capturing)。

一、什么事DOM 0級(jí)處理事件?

舉個(gè)例子,你直接在DOM 標(biāo)簽上綁定的onClick事件,

<button? onClick={this.func}? id='btn'/>

或者通過document.getElemmentByXX('btn')此類方式獲取到

let btn =?document.getElemmentById('btn')

btn.click = function() { console.log('xxxxx')?}

如上兩種方式,通過給?dom對(duì)象的屬性?賦值函數(shù)的,稱為DOM 0級(jí)事件處理。

DOM 0級(jí)事件規(guī)定的事件流包含3個(gè)階段,事件捕獲階段、處于目標(biāo)階段、事件冒泡階段。首先發(fā)生的事件捕獲為截獲事件提供機(jī)會(huì),然后是實(shí)際的目標(biāo)接收事件,最后一個(gè)階段是事件冒泡階段,可以在這個(gè)階段對(duì)事件做出響應(yīng)。

二、什么事DOM 2級(jí)處理事件?

DOM 2級(jí)事件定義了兩方法:用于處理添加事件和刪除事件的操作:添加事件?addEventListener()?刪除事件?removeEventListener(),通過如下方式添加事件處理的稱為DOM 2級(jí)處理事件。

let btn =?document.getElemmentById('btn')

function showFunc?() {?console.log('xxxxx')?}

btn.addEventListener(click, showFunc, false)?

如上,通過addEventListener()?添加事件的方法稱為DOM 2級(jí)處理事件,需要注意的是,DOM2級(jí)處理事件沒有事件捕獲階段、冒泡階段等。

三、在項(xiàng)目中是否遇到過需要使用e.stopPropagation去阻止冒泡的情況?為什么?

搞清楚DOM 0級(jí)處理事件和DOM 2級(jí)處理事件的區(qū)別,就清楚為什么有時(shí)候需要在項(xiàng)目中使用e.stopPropagation操作了。當(dāng)你給父元素和子元素同時(shí)添加了onClick事件的時(shí)候,如果是通過DOM 0級(jí)處理事件的方式去添加,就一定會(huì)出現(xiàn)冒泡階段同時(shí)觸發(fā)兩個(gè)元素的onClick操作,因此,你就需要在子元素事件中添加e.stopPropagation()方法去組織冒泡。

關(guān)于DOM0級(jí)處理事件、DOM2級(jí)處理事件、阻止冒泡的一點(diǎn)心得的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
安仁县| 吴堡县| 清河县| 杭锦旗| 河东区| 玛纳斯县| 天峻县| 饶平县| 宣城市| 安西县| 定南县| 体育| 来凤县| 吐鲁番市| 青岛市| 武邑县| 浦县| 永城市| 班戈县| 方正县| 陆川县| 黄梅县| 新龙县| 徐水县| 和平县| 台东县| 磴口县| 屯留县| 星子县| 咸丰县| 绥棱县| 平遥县| 平乐县| 怀来县| 南汇区| 庆元县| 四子王旗| 丹棱县| 南皮县| 镇宁| 屯昌县|