微信小程序中e.target和e.currentTarget有什么本质区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计538个文字,预计阅读时间需要3分钟。
在小程序的页面事件回调触发时,会接收到一个事件对象,该对象包含`target`和`currentTarget`两个属性。以下是对这两个属性区别的简要说明:
1. target:表示触发事件的目标节点。它包含以下信息: - id:触发事件的组件的id。 - dataset:触发事件的组件上所有绑定事件的data的集合。
2. currentTarget:表示当前正在执行的组件实例。它包含以下信息: - id:当前组件的id。 - dataset:当前组件上所有绑定事件的data的集合。 - dataset中的数据与`target`中的`dataset`相同。
以下是修改后的代码示例:
点击我
在小程序的事件回调触发时,会接收一个事件对象,事件对象的参数中包含一个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; }
效果图
js部分:
click: function (event) { console.log(event.target) console.log(event.currentTarget) }
当点击图中粉色子组件区域时的输出结果:
event.target 为其子组件,也就是触发该事件的源头组件
event.currentTarget 为事件所绑定的组件
当点击图中蓝色父组件区域时的输出结果:
event.target 为父组件,因为触发的源头也就是父组件本身
event.currentTarget 始终为事件所绑定的组件
总结:target对应的是触发事件的源头组件,这个组件有可能是子组件,有可能是父组件,主要是看执行动作的区域。而currentTarget始终对应事件所绑定的组件。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。
本文共计538个文字,预计阅读时间需要3分钟。
在小程序的页面事件回调触发时,会接收到一个事件对象,该对象包含`target`和`currentTarget`两个属性。以下是对这两个属性区别的简要说明:
1. target:表示触发事件的目标节点。它包含以下信息: - id:触发事件的组件的id。 - dataset:触发事件的组件上所有绑定事件的data的集合。
2. currentTarget:表示当前正在执行的组件实例。它包含以下信息: - id:当前组件的id。 - dataset:当前组件上所有绑定事件的data的集合。 - dataset中的数据与`target`中的`dataset`相同。
以下是修改后的代码示例:
点击我
在小程序的事件回调触发时,会接收一个事件对象,事件对象的参数中包含一个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; }
效果图
js部分:
click: function (event) { console.log(event.target) console.log(event.currentTarget) }
当点击图中粉色子组件区域时的输出结果:
event.target 为其子组件,也就是触发该事件的源头组件
event.currentTarget 为事件所绑定的组件
当点击图中蓝色父组件区域时的输出结果:
event.target 为父组件,因为触发的源头也就是父组件本身
event.currentTarget 始终为事件所绑定的组件
总结:target对应的是触发事件的源头组件,这个组件有可能是子组件,有可能是父组件,主要是看执行动作的区域。而currentTarget始终对应事件所绑定的组件。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持自由互联。

