js 和html 之间的交互是通过事件实现的。
-
事件流:页面接收事件的顺序,
-
dom事件流:事件捕获, 事件目标阶段, 事件冒泡(在此阶段接收事件)
-
事件:click 点击动作
-
事件处理程序:onclick
-
为事件指定事件处理程序的方式
一、事件处理程序
1.HTML事件处理程序:
<input type="text" onclick="alert('文本框')">
缺点:
1.时差,会导致报错
2.浏览器标识符解析不一样
3.耦合性太高
2.DOM0 级事件处理程序: 第四代web浏览器-至今,冒泡阶段处理
var btn = docuemnt.getElementById("button");
btn.onclick = function(){
alert("DOM0 级事件处理程序",this.id)
}
btn.onclick=null // 删除事件处理程序
优点:
1.简单
2.跨浏览器
为了可以添加多个事件处理程序 ,出现了DOM2 + IE
3.DOM2 级事件处理程序:默认冒泡阶段处理,IE9,Firefox,safari,chrome,opera支持
addEventListener()
removeEventListener()
三个参数,第一个参数是click,第二个数函数, 第三个代表是否在冒泡阶段false
添加多个事件处理程序时候, 顺序触发
4.IE事件处理程序:IE和opera支持,冒泡阶段触发
attachEvent();
detachEvent();
两个参数, 第一个是onclick,第二个是函数
添加多个时候, 反顺序触发
注意:IE和DOM2事件处理程序 都对 匿名函数无法移除, 也就是要把函数单独摘出去
跨浏览器的事件处理程序 :dom2 +IE+ dom0的情况加起来
二、事件处理对象
![](https://img.haomeiwen.com/i2413886/8740214d99f4c9a2.png)
总结:
![](https://img.haomeiwen.com/i2413886/80dd829c03660d96.png)
![](https://img.haomeiwen.com/i2413886/bf3adc0e9b20d219.png)
![](https://img.haomeiwen.com/i2413886/8ed750fd201ced54.png)
![](https://img.haomeiwen.com/i2413886/cf03d2d1e5cece19.png)
网友评论