JavaScript 事件流

页面触发一个事件时,会按照一定的顺序来响应事件,事件的响应过程为事件流。
浏览器规定了两种事件流模型: 捕获型事件流 冒泡型事件流
DOM 标准规定事件流包括三个阶段: 事件捕获阶段 处于目标阶段 事件冒泡阶段。
参数为 true 时,顺序为 div -> p -> span 。事件捕获阶段
参数为 false 时,顺序为 span -> p -> div 。事件冒泡阶段 默认
注意:通过 on 绑定的事件,也是事件冒泡阶段执行。
常见用途:
事件代理: 事件代理的原理用到的就是事件冒泡和目标元素,把事件添加到父元素,等待子
元素事件冒泡,并且判断是哪个子元素,从而做相应处理。
适用于子元素比较多,而且事件相同的情况下。
优点:将多个事件函数减少到一个,因为事件函数要驻留内存,这样就提高了性能。
这是不使用事件代理的写法,需要循环 li 标签绑定事件。如下:

这是使用事件代理的写法,通过事件对象来判断点击的是否 li 标签。如下:
e 表示 event 是事件对象模型, e || window.event e.target || e.srcElement 是兼容 IE 浏览
器的写法。 toLowerCase() 是将字符串全部转换成小写。 toUpperCase() 是转换为大写。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值