网络编程 
首页 > 网络编程 > 浏览文章

微信小程序事件对象中e.target和e.currentTarget的区别详解

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

在小程序的事件回调触发时,会接收一个事件对象,事件对象的参数中包含一个target和currentTarget属性,接下来说说这二者的区别。

首先上代码:

wxml部分:

<view id='tar-father' bindtap='click'>
  父组件
  <view id='tar-children'>子组件</view>
 </view>

wxss部分:

#tar-father{
 width: 300rpx;
 height: 300rpx;
 background-color: skyblue;
}
#tar-children{
 background-color: pink;
}

效果图

微信小程序事件对象中e.target和e.currentTarget的区别详解

js部分:

 click: function (event) {
  console.log(event.target)
  console.log(event.currentTarget)
 }

当点击图中粉色子组件区域时的输出结果:

微信小程序事件对象中e.target和e.currentTarget的区别详解

event.target 为其子组件,也就是触发该事件的源头组件

event.currentTarget 为事件所绑定的组件

当点击图中蓝色父组件区域时的输出结果:

微信小程序事件对象中e.target和e.currentTarget的区别详解

event.target 为父组件,因为触发的源头也就是父组件本身

event.currentTarget 始终为事件所绑定的组件

总结:target对应的是触发事件的源头组件,这个组件有可能是子组件,有可能是父组件,主要是看执行动作的区域。而currentTarget始终对应事件所绑定的组件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

上一篇:基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
下一篇:利用原生JavaScript实现造日历轮子实例代码
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。