首页 > 课堂 > 小程序 > 正文

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

2020-03-21 15:57:22
字体:
来源:转载
供稿:网友

在小程序的事件回调触发时,会接收一个事件对象,事件对象的参数中包含一个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始终对应事件所绑定的组件。

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表