當(dāng)前位置:
首頁 >
Event 对象
發(fā)布時(shí)間:2025/4/16
50
豆豆
1. 事件對(duì)象
Event 對(duì)象代表事件的狀態(tài),比如事件在其中發(fā)生的元素、鍵盤按鍵的狀態(tài)、鼠標(biāo)的位置、鼠標(biāo)按鈕的狀態(tài)。
- 什么時(shí)候會(huì)產(chǎn)生Event 對(duì)象呢??
- 例如: 當(dāng)用戶單擊某個(gè)元素的時(shí)候,我們給這個(gè)元素注冊(cè)的事件就會(huì)觸發(fā),該事件的本質(zhì)就是一個(gè)函數(shù),而該函數(shù)的形參接收一個(gè)event對(duì)象.
- 事件通常與函數(shù)結(jié)合使用,函數(shù)不會(huì)在事件發(fā)生前被執(zhí)行!
?
?
target 事件屬性可返回事件的目標(biāo)節(jié)點(diǎn)(觸發(fā)該事件的節(jié)點(diǎn)),如生成事件的元素、文檔或窗口。
語法
event.target2. 事件流
2.1 事件流發(fā)展史
- 事件發(fā)展史,這位大神已經(jīng)寫好了,想去偷瞄兩眼的請(qǐng)點(diǎn)擊這里
2.2 冒泡
?
- 什么是事件冒泡,?
- 官方的定義就是從最特定的事件目標(biāo)到最不特定的事件目標(biāo)
?
意思就是說,假如用戶單擊了一個(gè)元素,該元素?fù)碛幸粋€(gè)click事件,那么同樣的事件也將會(huì)被它的祖先觸發(fā),這個(gè)事件從該元素開始一直冒泡到DOM樹的最上層,這一過程稱為事件冒泡
2.3 捕獲
?
- 什么是事件捕獲
?
事件捕獲和事件是相反的,也就是說,當(dāng)用戶觸發(fā)了一個(gè)事件的時(shí)候,這個(gè)事件是從DOM樹的最上層開始觸發(fā)一直到捕獲到事件源.
2.4 事件流
?
- 它的由來
?
由于微軟和網(wǎng)景亂搞,后來必須要為事件傳播機(jī)制,制定一個(gè)標(biāo)準(zhǔn),因?yàn)槭录东@是網(wǎng)景公司開發(fā)出來的,而事件冒泡是由微軟公司開發(fā)出來的,它們都想要自己的技術(shù)成為標(biāo)準(zhǔn),所以導(dǎo)致這兩個(gè)公司老是干架,制定標(biāo)準(zhǔn)的人為了不讓它們干架,所以研發(fā)了事件流.
2.5 事件流的寫法以及實(shí)現(xiàn)方式
- 標(biāo)準(zhǔn)實(shí)現(xiàn)方式使用關(guān)鍵詞addEventListener,假如你想要給某一個(gè)元素添加事件,現(xiàn)在就可以這樣寫element.addEventListener(eventType, fn, false)?
- dom對(duì)象.addEventListener(事件類型, 回調(diào)函數(shù), 事件機(jī)制)這里的事件類型表示你要使用哪種事件類型比如click, 回調(diào)函數(shù)里面寫著觸發(fā)此事件你要做什么事情, 事件機(jī)制分為冒泡和捕獲,如果為false表示事件冒泡,為true表示事件捕獲
- 既然有標(biāo)準(zhǔn)的實(shí)現(xiàn)方式,那么肯定也存在著不和諧的寫法,沒辦法誰讓人家牛逼呢,俗話說的好啊兩虎之爭必有一傷,可傷了我們程序員了.這種不和諧的寫法是?
- dom對(duì)象.attachEvent(eventType, fn)第一個(gè)參數(shù)表示事件類型,第二個(gè)是回調(diào).這種寫法兼容IE, IE沒有實(shí)現(xiàn)事件捕獲,因?yàn)樵诋?dāng)時(shí)他比較厲害,以為沒必要…………只是,,,,省略一千字, 現(xiàn)在微軟的瀏覽器已經(jīng)做得很好了… 只是調(diào)侃一下無其他意圖..
- 以上的兩種寫法一種是兼容W3C標(biāo)準(zhǔn)的一種是老版IE的寫法
轉(zhuǎn)載于:https://www.cnblogs.com/szl6/p/9965378.html
總結(jié)
- 上一篇: sqlserver中创建链接服务器图解教
- 下一篇: 练习二十一:关于猴子吃桃的问题