微信小程序target和currentTarget的区别

如果需要理解event.target和event.currentTarget的区别,必须先理解事件传播机制。如下图所示

事件传播机制图示

两者区别

  • current: 触发事件的元素。比如点击的目标是inner盒子,那么触发事件的元素就是inner盒子,点击的目标是outer盒子,那么触发事件的元素就是outer盒子。
  • currentTarget: 处理事件的元素。处理事件的元素不是一成不变的,而是根据事件传播机制、是否绑定事件而定的。
  • 如果元素没有嵌套层级关系,那么target和currentTarget没有区别。

最外层元素绑定事件 内层元素没有绑定事件情况

  • 冒泡阶段处理事件情况
<view id="outer" class="outer" bindtap="onClickTap" data-money="2000">
 <view id="inner" class="inner"></view>
</view>
//  pages/index/index.js

Page({
   
 onClickTap (event) {
   
   const {
   target,currentTarget} = event
   // target: 触发事件的元素
   // currrentTarget:处理事件的元素
   console.log(target) // inner
   console.log(currentTarget) // outer

   console.log(target<
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值