简述
事件流描述的是从页面中接受事件的顺序,在JS中分为两种,一个是事件冒泡,还有一个是事件捕获
当btn中的事件被触发了,其事件流的顺序就如上图所示, 先从最外面的body开始到btn的捕获阶段,再是从里到外的事件冒泡阶段。
DOM 事件流
在"DOM2级事件"规定的事件流包括三个阶段“事件捕获阶段、出于目标阶段和事件冒泡阶段”。一般来说,出于目标阶段会被看成冒泡阶段的一部分
事件处理程序
1.HTML事件处理程序
直接在html中添加事件处理程序,如
<input type="button" onclick="alert('click')" value="click Me">
可以直接在标签为onclick属性添加对应为事件处理函数。html添加事件的缺点由两个:
- 存在“时差”,html元素显示在页面上时,其事件处理程序可能还未准备好,这时候触发事件,则会发生错误。
- 耦合性的问题,html和js代码的耦合度过高。
2.DOM0级事件处理程序
dom0级事件处理程序,就是讲一个函数赋值给一个事件处理程序属性,如:
var btn = document.getElementById('btn');
btn.onclick = fu