网页中接收事件的顺序(事件流)有哪些?它们之间的区别是什么?
首先说一下什么是事件流,个人理解为假设在牛客网做题,当我点击了提交按钮,浏览器是如何知道我点击了什么东西呢?这个时候就需要使用到事件流
最开始有两种,一个是冒泡,一个是事件捕获。
先说说冒泡:和冒泡排序一样(虽然这是个**算法),都是从最底层开始,即那个点击按钮的标签
假设这是个DOM,那么冒泡流就是从p开始,到div,然后body、html、document
html
head
body
div
p 提交再来说说事件捕获流:不用说太多,因为这刚好和上面是冒泡流相反,即从最外层的标签开始,最后才到达p标签。
最后来说说现在标准,DOM2级事件流,即首先进行事件捕获流,然后到达事件所在的标签后,进行处理,然后在开始进行事件冒泡流,类似于koa2中的洋葱模型