day26-Javascript事件
1.js事件
1.什么是事件
- js是事件驅(qū)動語言勃救,絕大部分代碼都是事件發(fā)生后才執(zhí)行
- 事件三要素:
- 事件源(發(fā)生事件的對象)
- 事件(發(fā)生了什么事件)
- 事件驅(qū)動程序(發(fā)生事件后要做什么)
2.事件綁定
- 1)給事件源的事件屬性賦值:this指向的是window
- 2)通過節(jié)點綁定:
- 事件源節(jié)點.事件屬性 = 函數(shù):this是事件源(當(dāng)期事件發(fā)生的節(jié)點)
- 事件源節(jié)點.事件屬性 = 匿名函數(shù):this是事件源
- 3)事件源節(jié)點.addEventListener(事件名,函數(shù)):this是事件源
- 注意:事件名是事件屬性名去掉on;這種綁定方式可以給同一事件綁定不同的驅(qū)動程序
- 注意:如果事件源是箭頭函數(shù)映企,this指向的是window
3.常用事件
- 1)
onload
:頁面加載完成后才執(zhí)行 - 2)
onclick
:點擊事件- 需要關(guān)注事件對象的
clientX/clientY
(到瀏覽器左邊和頂部的距離) -
offsetX/offsetY
(到事件源左邊和頂部的距離)
- 需要關(guān)注事件對象的
- 3)
onmouseover
(鼠標進入標簽)/onmouseout
(鼠標離開標簽) - 4)
onkeydown
(鍵盤按下) - 5)
onchange
(標簽改變事件)
4.事件冒泡和事件捕獲
- 事件冒泡:當(dāng)一個標簽產(chǎn)生某個事件后抽米,這個事件會傳遞給它的父標簽
- 事件捕獲:不想讓事件冒泡,可以用
事件對象.stopPropagation()
捕獲