千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

事件流(事件执行机制)
就是当我们的事件触发的时候 事件的这个 行为 会沿着结构父级向上传播 直到window
如果在结构父级上也有同类型事件也会被触发
事件流(事件三个阶段)
捕获阶段: 是从window 到 准确触发事件的目标元素的过程
目标阶段: 就是准确触发事件的那个元素
冒泡阶段: 是从准确触发事件的那个元素 到 window 一个过程
历史问题
就是我们的标准浏览器中默认是在冒泡阶段执行
但是保留在捕获阶段执行的能力
IE中只支持在冒泡阶段执行
想要在捕获阶段执行
不能使用 DOM 0 级事件绑定的方式绑定事件
需要使用DOM 2 级事件绑定的方式来绑定事件
同时需要传递第三个参数
这个参数是一个布尔值
默认是 false 表示的是在冒泡阶段执行
选填是 true 表示的是在捕获阶段执行
阻止事件冒泡
就是因为我们的事件默认是在冒泡阶段执行
有的时候我不想不需要这个时候来触发这个行为
你执行你的就好了不用管我的
如何来阻止事件冒泡
标准浏览器
语法: 事件对象.stopPropagation()
IE低版本
语法: 事件对象.cancelBubble = true
兼容
语法: try {} catch () {}
如果try后面的大括号中的代码没有问题
那么就执行try后面的大括号中的代码
如果try和面的大括号中的代码报错不执行
会把错误信息传递到catch中这个时候执行catch中的代码