浏览器事件机制(即冒泡和捕获,也称为事件流)
基础知识
- 操作系统最先知道用户点击了鼠标,浏览器次之
- child 被点击了,意味着 parent 也被点击了
- 如果我同时监听了 child 和 parent,那么谁先通知我?这是个问题。
捕获阶段
早期 Navigator 支持
parent 先通知,child 后通知
冒泡阶段
IE支持
child 先通知,parent 后通知
(onclick 就是在冒泡阶段被通知)
W3C 事件模型
既支持捕获又支持冒泡(先捕获后冒泡)
举例说明事件机制(混用)
有两个div,一个parent,一个child,parent包含child.当用户点击child时先发生捕获阶段,通知parent你孩子被点击了是否需要处理一下后通知child你被点击了是否需要处理一下,之后发生冒泡阶段先通知child你被点击了是否需要处理后通知parent你孩子被点击了是否需要处理一下
注:若点击的是你自己,就没有什么捕获和冒泡,谁先监听就先触发谁。