当浏览器从服务端获取到HTML文件时,浏览器对文件进行解析,将HTML解析生成DOM树。DOM树上有很多节点,最大的为Document,里面会有<html>标签,它里面又包含了<head>和<body>标签,在<body>里可以有<div>、<span>等标签。
事件流:
事件是与浏览器或文档交互的瞬间,比如点击事件,鼠标移动事件、获得焦点、失去焦点等。它是HTML与JavaScript之间交互的桥梁。如上图DOM是树形结构,如果同时给父子节点都绑定同一事件,那么当触发子节点的时候,事件发生的顺序是什么,这就有了事件流的概念。
事件流就是事件完整执行过程的路径,分为捕获阶段和冒泡阶段。
假如说页面一个div,要找到div,先从最大的document开始找,一层一层找到HTML标签,再找到HTML里面的body,再找到body里面的div,这个过