js 和html 之間的交互是通過事件實現(xiàn)的较店。
事件流:頁面接收事件的順序柿顶,
dom事件流:事件捕獲位迂, 事件目標階段唯蝶, 事件冒泡(在此階段接收事件)
事件:click 點擊動作
事件處理程序:onclick
為事件指定事件處理程序的方式
一九秀、事件處理程序
1.HTML事件處理程序:
<input type="text" onclick="alert('文本框')">
缺點:
1.時差,會導(dǎo)致報錯
2.瀏覽器標識符解析不一樣
3.耦合性太高
2.DOM0 級事件處理程序: 第四代web瀏覽器-至今粘我,冒泡階段處理
var btn = docuemnt.getElementById("button");
btn.onclick = function(){
alert("DOM0 級事件處理程序",this.id)
}
btn.onclick=null // 刪除事件處理程序
優(yōu)點:
1.簡單
2.跨瀏覽器
為了可以添加多個事件處理程序 鼓蜒,出現(xiàn)了DOM2 + IE
3.DOM2 級事件處理程序:默認冒泡階段處理,IE9,Firefox征字,safari都弹,chrome,opera支持
addEventListener()
removeEventListener()
三個參數(shù)柔纵,第一個參數(shù)是click缔杉,第二個數(shù)函數(shù), 第三個代表是否在冒泡階段false
添加多個事件處理程序時候搁料, 順序觸發(fā)
4.IE事件處理程序:IE和opera支持或详,冒泡階段觸發(fā)
attachEvent();
detachEvent();
兩個參數(shù), 第一個是onclick郭计,第二個是函數(shù)
添加多個時候霸琴, 反順序觸發(fā)
注意:IE和DOM2事件處理程序 都對 匿名函數(shù)無法移除, 也就是要把函數(shù)單獨摘出去
跨瀏覽器的事件處理程序 :dom2 +IE+ dom0的情況加起來
二昭伸、事件處理對象
image.png
總結(jié):
image.png
image.png
image.png
image.png