DOM事件流
掘金文章链接:DOM事件流 - 掘金
简书文章链接:DOM事件流 - 简书1. 常用事件绑定方式1.1 对象属性绑定 1.2 addEventListener()绑定
addEventListener 第三个参数,Boolean 类型值,可指定事件冒泡阶段还是捕获阶段触发,true -捕获,false -冒泡,默认false ,既冒泡。1.3 两种方式区别对象属性绑定方式只能绑定一次,重复绑定同一事件类型,前面的会被后面的覆盖
下面代码中,"事件触发-1"不会执行了,被下面的 onclick 覆盖了 其实这种类似对象属性,同一个key,重新赋值会覆盖前面的值 addEventListener 没有重复绑定覆盖的问题,同一元素可以绑定同一事件类型多次
下面代码中,按钮点击时,事件会 依次触发 addEventListener 提供事件是在捕获阶段还是在冒泡阶段触发2. 事件流2.1 概念
事件发生时会在元素节点与根节点之间按照特定的顺序传播,路径所经过的所有节点都会收到该事件,这个传播过程即DOM 事件流。2.2 事件顺序 2.2.1 捕获阶段
在页面中点击button ,首先document 接收到click 事件,然后沿着dom 树,依次向下,直到实际事件触发元素,既button 节点,这一过程称为事件捕获过程,是从外到内的传播过程。2.2.2 目标阶段
经过事件捕获阶段后,然后是实际目标接收到事件即处于目标阶段2.2.3 冒泡阶段
从目标元素,沿着dom 树,逐级向上传递,直到document 对象 下图是事件流模型,记为 洋葱模型 (先外到内,再内到外)
历史背景不讲了,总结以下几点默认情况下浏览器以事件冒泡形式进行事件传播一刀插过洋葱,先外到内,再内到外,既事件流先由最外层document 捕获到目标元素,再经目标元素冒泡到document 如果要触发捕获阶段事件,在上面介绍的方法addEventListener 设置第三个参数为false 即可3. 阻止事件冒泡3.1 event.stopPropagation()
有时父元素和其子元素都绑定了同一类型事件,我们不想让事件向上传播,触发哪个元素的事件,就执行哪个元素的事件处理,不干扰其他元素事件。 这时就需要阻止事件冒泡
方法: event.stopPropagation()
上面的代码中,root 的click 事件不会触发了。3.2 stopPropagation与stopImmediatePropagation区别
相同点
都能阻止事件冒泡
不同点
stopImmediatePropagation() 阻止事件冒泡并且阻止该元素上同事件类型的监听器被触发
举例stopPropagation 只能单纯的阻止冒泡
stopImmediatePropagation 阻止后面同类型事件触发
注意 stopImmediatePropagation ,只能阻止后面 事件不触发 下面代码中,只有"btn-事件触发3"不执行
4. 事件流实战
完
如有错误,请指正,欢迎评论交流,关注我,只写干货
体现法系车的独特,雪铁龙C3L的那些反人类设计前段时间,东风雪铁龙正式与东风标致合拼销售渠道,两家本事同根的品牌联手,应该会有新的作为。当雪铁龙日前发布了全新车型C3L后,觉得真是开拓了眼界,同时也很想问问雪铁龙的产品开发负责
抽油烟机工作原理及常见故障摘要抽油烟机的基本结构主要由箱体电机风轮排烟管蜗壳止回阀导风板面板集排油装置照明装置电源开关和电源线等这些部分构成。油烟机的基本构成部件箱体支撑整个吸油烟机的结构,导风板及面抽油烟
电磁炉需要掌握哪几个重要的电压参考值?(原创)维修电磁炉时除了掌握望闻问切和跑线跳线代换等基本手段外,测量重要的几个电压参考点也非常必要,因为相关点位的测量信息直接反应了电器的工作状态。电磁炉的电源分为主副电源,主供电源由交流
洗衣机故障代码海尔全自动洗衣机故障代码F1海尔洗衣机水位传感器接触不良E1海尔洗衣机排水超时,检查排水管是否被堵E2海尔洗衣机上盖没有盖好E3海尔洗衣机脱水不平衡,把衣服重新抖散开来再脱水E4海
波轮洗衣机常见故障一,进水不止a一般情况为进水阀阀芯卡住,通电打开后无法复位,导致一直进水,此情况先更换进水阀b如果故障未解决,问题出在水位开关,使用时间一长,水位开关可停止进水,引起进水不止,此时
这款宝马旗舰SUV真够奢!X7行政型M运动套装宝马旗舰型SUV当属X7,不仅车身尺寸大,提供67座,新车基于CLAR模块化平台打造,外观采用最新的家族式设计语言,整体外观霸气豪华。动力方面国内在售的X7搭载3。0T发动机,以及
奥迪A4l对比宝马3系,怎么选看你要舒适还是运动如果你最近手握30万的预算,想买一台豪华品牌中级车,好开拉风而且满足家用,那你一定绕不开这两台车,奥迪A4L和宝马3系!今天我们拿这两台车,从驾控乘坐性价比等方面对比,看哪台最合适
奔驰G350售142万多,才2。0T,网友称幸亏三把锁还在近日,奔驰G350在国内上市,官方指导价为142。98万元,搭载了2。0T发动机,配9速手自一体变速箱,车辆最大功率258马力,峰值扭矩为370牛米,官方公布的0100kmh加速时
空调故障代码前言无论是什么品牌的空调,在使用的时候出现故障是在所难免的,而在空调出现故障的时候,一般都会显示相对应的一些故障代码,来告诉我们故障的具体原因,帮助我们可以更好的辨别故障,方便更快
丰田新款普拉多发布,搭载2。8T柴油引擎在硬派越野车中,无论地位还是知名度,丰田的普拉多(霸道)是大批越野爱好者的首选。在国内有着不错的销量和口碑,只可惜一汽丰田国产的车型已经停产,想买这款车的要通过进口渠道。近日,官方
日系性能控的菜,大排量后驱手动,性能不输丰田Supra对于不少玩车的朋友,这台车的发布,让大家重新燃起了激情,日系玩味回来了!日产近日发布了全新ZProto跑车,这就是大家熟悉的370Z换代车型。相对于370350Z已经有11年了,这