摘要:事件模型歷史標(biāo)準(zhǔn)沒有對(duì)事件進(jìn)行修訂所以事件模型的標(biāo)準(zhǔn)就是制定的標(biāo)準(zhǔn)規(guī)定了事件捕獲事件冒泡事件取消和知識(shí)點(diǎn)在的屬性中使用時(shí)要加括號(hào)在的中給點(diǎn)擊事件賦值不加括號(hào)寫在里相當(dāng)于字符串里的代碼是執(zhí)行意思是執(zhí)行這個(gè)這個(gè)代碼意思是執(zhí)行在里為一個(gè)函數(shù)返回類
DOM事件模型 1.歷史 2.DOM level2 標(biāo)準(zhǔn)
DOM level3沒有對(duì)事件進(jìn)行修訂,所以DOM事件模型的標(biāo)準(zhǔn)就是DOM level2 制定的標(biāo)準(zhǔn)
規(guī)定了
事件捕獲event capture
事件冒泡event bubbling
事件取消event cancelation
在html的onclick屬性中,使用時(shí)要加括號(hào),
在js的onclick中,給點(diǎn)擊事件賦值,不加括號(hào).
寫在html里,相當(dāng)于eval()字符串里的代碼(eval是執(zhí)行),eval("print")意思是執(zhí)行這個(gè)print這個(gè)代碼,eval("print()")意思是執(zhí)行print().
在js里,print 為一個(gè)函數(shù),返回類型也為函數(shù),賦值的時(shí)候,就是把函數(shù)這個(gè)類型賦給onclick,而print()返回類型為undefined.
在DOM level1中,onclick只是一個(gè)屬性,可以被覆蓋,所以一個(gè)元素只能有一個(gè)onclick時(shí)事件
事件監(jiān)聽隊(duì)列,xxx有用一個(gè)隊(duì)列,是eventListeners事件監(jiān)聽隊(duì)列,先添加的先觸發(fā)
先進(jìn)先出,先綁定的先觸發(fā),可以綁定多個(gè)相同的事件
每一個(gè)事件都有一個(gè)自己的隊(duì)列,click有click的隊(duì)列mouseenter有他自己的隊(duì)列
也可以移出隊(duì)列
也可以只觸發(fā)一次
相當(dāng)于jQuery中的one
總結(jié):
總結(jié):
如果不傳送參數(shù)()默認(rèn),或者傳輸false,那么就從內(nèi)到外.
如果傳true,從外到內(nèi)
跟代碼順序沒有關(guān)系,如果堅(jiān)挺的是同一個(gè)元素,才跟代碼順序有關(guān)系
執(zhí)行順序就是先從左,往下,再從底,往右上,如果不寫第三個(gè)參數(shù)或者第三個(gè)參數(shù)為false,那么函數(shù)就只在右邊,執(zhí)行順序就是fn3,fn2,fn1.
如果把參數(shù)改為true,那么函數(shù)會(huì)跑到左邊,執(zhí)行順序發(fā)生改變:
如下圖
所以分為兩個(gè)階段
從上到下,捕獲階段
從下到上,冒泡階段
事件模型就是先捕獲,再冒泡.
執(zhí)行順序就是先捕獲再冒泡,看他在不活的路上還是冒泡的路上
特例:
如果這個(gè)元素是最底層的元素(是嵌套的里面嘴內(nèi)部的元素),那么不管是捕獲還是冒泡,先寫的先執(zhí)行.如圖:
(一般沒人會(huì)選用兩個(gè)階段來用),
要么左邊要么右邊
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/95447.html
摘要:接受個(gè)參數(shù)事件類型,是否冒泡,是否阻止瀏覽器的默認(rèn)行為觸發(fā)上綁定的自定義事件觸發(fā)元素上綁定事件事件的委托代理的原理以及優(yōu)缺點(diǎn)。委托代理事件是那些被綁定到父級(jí)元素的事件,但是只有當(dāng)滿足一定匹配條件時(shí)才會(huì)被挪。 一、頁面布局 1.問題:假設(shè)高度已知,請(qǐng)寫出三欄布局 ,其中左欄、右欄寬度各為300px,中間自適應(yīng)。 解決方案一:使用浮動(dòng)布局` Document ...
摘要:接受個(gè)參數(shù)事件類型,是否冒泡,是否阻止瀏覽器的默認(rèn)行為觸發(fā)上綁定的自定義事件觸發(fā)元素上綁定事件事件的委托代理的原理以及優(yōu)缺點(diǎn)。委托代理事件是那些被綁定到父級(jí)元素的事件,但是只有當(dāng)滿足一定匹配條件時(shí)才會(huì)被挪。 一、頁面布局 1.問題:假設(shè)高度已知,請(qǐng)寫出三欄布局 ,其中左欄、右欄寬度各為300px,中間自適應(yīng)。 解決方案一:使用浮動(dòng)布局` Document ...
摘要:接受個(gè)參數(shù)事件類型,是否冒泡,是否阻止瀏覽器的默認(rèn)行為觸發(fā)上綁定的自定義事件觸發(fā)元素上綁定事件事件的委托代理的原理以及優(yōu)缺點(diǎn)。委托代理事件是那些被綁定到父級(jí)元素的事件,但是只有當(dāng)滿足一定匹配條件時(shí)才會(huì)被挪。 一、頁面布局 1.問題:假設(shè)高度已知,請(qǐng)寫出三欄布局 ,其中左欄、右欄寬度各為300px,中間自適應(yīng)。 解決方案一:使用浮動(dòng)布局` Document ...
摘要:當(dāng)用戶選擇文本框或中的一個(gè)或多個(gè)字符觸發(fā)。當(dāng)文本框或內(nèi)容改變且失去焦點(diǎn)后觸發(fā)。事件對(duì)象事件對(duì)象就是對(duì)象,通過處理函數(shù)傳遞。比如右擊文本框輸入?yún)^(qū)域,會(huì)彈出系統(tǒng)菜單點(diǎn)擊超鏈接會(huì)跳轉(zhuǎn)到指定頁面點(diǎn)擊提交按鈕會(huì)提交數(shù)據(jù)。 前端學(xué)習(xí):教程&開發(fā)模塊化/規(guī)范化/工程化/優(yōu)化&工具/調(diào)試&值得關(guān)注的博客/Git&面試-前端資源匯總 歡迎提issues斧正:Event JavaScript-事件even...
摘要:事件通過和管理,當(dāng)然,這是標(biāo)準(zhǔn)。最后一個(gè)參數(shù)是布爾型,代表捕獲事件,代表冒泡事件。事件類型,布爾值,這個(gè)必須和注冊(cè)事件時(shí)的類型一致。也就是說,名稱回調(diào)類型,三者共同決定解除哪個(gè)事件,缺一不可。 JQuery這種Write Less Do More的框架,用多了難免會(huì)對(duì)原生js眼高手低。 小菜其實(shí)不想寫這篇博客,貌似很初級(jí)的樣子,但是看到網(wǎng)絡(luò)上連原生js事件綁定和解除都說不明白,還是決...
閱讀 1401·2019-08-30 15:44
閱讀 1446·2019-08-29 18:42
閱讀 499·2019-08-29 13:59
閱讀 836·2019-08-28 17:58
閱讀 2878·2019-08-26 12:02
閱讀 2496·2019-08-23 18:40
閱讀 2484·2019-08-23 18:13
閱讀 3187·2019-08-23 16:27