js 事件中的target、currentTarget及事件委托

1. target: 只位于其事件流的目标阶段;指向事件发生时的元素

 

2. currentTarget: 可位于捕获、冒泡和目标阶段;始终指向绑定事件的元素

(如div>ul>li结构,事件委托在div上,target可能为三者之一, 而currentTarget始终为div)

 

3. 事件委托:将事件绑定在父级元素上,利用事件的冒泡,以达到只绑定一个事件而能监听所有子级元素的目的,从而大幅提升性能

    事件委托的两种形式(如有成百上千个 li 的 ul 元素,以jQuery为例):

1.$el.on('click', func)

2.$el.on('click', childSelector, func)

在第一种形式中,currentTarget始终为el,而在第二种形式中currentTarget为childEl

在jquery event对象中有个delegateTarget,指向事件所委托在的元素,上述两种情况皆为el,即事件都委托在了el上

若对于事件的3个阶段还不太了解的,欢迎移步js事件的三个阶段(捕获、目标、冒泡)

 

欢迎关注、点赞

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值