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

歡迎光臨散文網(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ó)家法律
嵊州市| 柳河县| 漳州市| 浦江县| 荥经县| 伊宁市| 玛纳斯县| 永昌县| 永济市| 罗平县| 博客| 双江| 贡觉县| 海原县| 红原县| 寻甸| 富顺县| 井研县| 图木舒克市| 安顺市| 子长县| 平利县| 乌兰县| 长垣县| 保亭| 蓝山县| 石城县| 东台市| 石楼县| 玉林市| 阳谷县| 绥化市| 龙胜| 太康县| 克东县| 卢龙县| 宜都市| 孙吴县| 屯留县| 玉环县| 玉树县|