浏览器事件机制中 事件触发的三个阶段

简介: javaScript事件的三个阶段:捕获阶段 目标阶段 冒泡阶段 addEventListener

javaScript事件的三个阶段:捕获阶段 目标阶段 冒泡阶段

捕获阶段 概念:

事件从根节点流向目标节点,途中流经各个DOM节点,在各个节点上触发捕获事件,直到达到目标节点。

目标阶段 概念:

事件到达目标节点时,就到了目标阶段,事件在目标节点上被触发

冒泡阶段 概念:

事件在目标节点上触发后,不会终止,一层层向上冒,回溯到根节点


addEventListener

attachEvent (IE 特有)

的第三个参数的作用,通过查文档可以知,addEventListener的第三个参数是一个布尔类型
1、第三个参数是false:事件从里到外执行,这种效果叫事件冒泡
2、第三个参数是true:事件从里到外执行,执行顺序颠倒过来了,这种效果叫做事件捕获。

a. 事件从里到外执行,这种效果叫事件冒泡

b. 事件从里到外执行,执行顺序颠倒过来了,这种效果叫做事件捕获。

注意:事件发生的时候,要经过事件的三个阶段,我们常常使用的是事件冒泡阶段,而其他两个阶段不能人为干预。

小结:事件的三个阶段

第一阶段:捕获阶段
第二阶段:目标阶段(执行当前点击的元素)
第三阶段:冒泡阶段

事件三个阶段如下如

第一阶段:捕获阶段

_

第二阶段:目标阶段(执行当前点击的元素)

第三阶段:冒泡阶段

_

注意,注册事件有三种,其中onclick、attachEvent没有第三个参数,实际上我们无法通过onclick、attachEvent来干预事件的第一阶段和第二阶段,并且很多时候我们只关心事件的第三阶段,即冒泡阶段。

相关文章
|
Web App开发 前端开发
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
Chrome 浏览器插件 V3 版本 Manifest.json 文件中 Action 的类型(Types)、方法(Methods)和事件(Events)的属性和参数解析
653 0
|
数据采集 JSON 数据安全/隐私保护
Click Event Simulation:无需浏览器触发动态数据加载
本教程介绍使用Python模拟点击事件,通过HTTP请求采集拼多多商品价格和优惠信息。主要内容包括: 1. **目标**:利用代理IP、Cookie和User-Agent防止被屏蔽,结合多线程加速数据采集。 2. **前置知识**:Python编程、HTTP协议、多线程基础、代理IP使用。 3. **步骤**: - 环境准备:安装`requests`库。 - 配置代理IP、Cookie和User-Agent。 - 模拟点击加载数据,解析JSON响应。 - 实现多线程采集,提高效率。
250 3
Click Event Simulation:无需浏览器触发动态数据加载
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
1162 1
|
JavaScript API
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
深入解析JS中的visibilitychange事件:监听浏览器标签间切换的利器
1158 0
|
JavaScript 前端开发 开发者
浏览器事件机制详解
浏览器事件机制详解
507 1
|
JavaScript
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
vue 组件封装 | 随鼠标移动的信息框 (含监听鼠标移动、移出事件,获取元素的宽高、获取浏览器的宽高)
218 1
|
JavaScript API
VUE——监听浏览器关闭及标签页关闭事件
VUE——监听浏览器关闭及标签页关闭事件
980 0
|
前端开发 JavaScript
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
js 进入浏览器全屏(F11效果)、退出全屏、指定元素全屏、判断当前是否全屏、监听浏览器全屏事件、定义全屏时的css样式(全屏伪类)
1476 0
|
JavaScript 前端开发
js阻止浏览器默认事件和防止事件传播事件
js阻止浏览器默认事件和防止事件传播事件
564 3

热门文章

最新文章