微信小程序中,e.target与e.currentTarget有何本质区别?

更新于
2026-09-29 21:48:12
1阅读来源:SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计417个文字,预计阅读时间需要2分钟。

微信小程序中,e.target与e.currentTarget有何本质区别?

在点击小程式的交互事件中,我们常使用以下属性来传递参数:

- `target`:事件源组件对象- `currentTarget`:当前触发事件的组件对象

这两者的含义如下:

- `target`:代表事件发生的具体组件,即事件源。- `currentTarget`:代表当前正在处理事件的组件。

初学时可能对这两者的区别感到困惑。

在小程序的点击事件中,我们经常使用这两个属性来传参,看起来效果一样,查了官方文档如下:

target:事件源组件对象

currentTarget:当前组件对象

什么意思?我刚开始就有点不懂,那就直接上代码:

<view id="outter" bindtap="tap1"> outer view <view id="middle" bindtap="tap2"> middle view <view id="inner" bindtap="tap3"> inner view </view> </view> </view> tap1: function (e) { console.log(1, e) }, tap2: function (e) { console.log(2, e) }, tap3: function (e) { console.log(3, e) },

结果如下:

点击子元素inner,但由于事件冒泡父元素middle和outter都触发,从上图中我们可以看出区别:

父元素middle和outter,target的id都是等于inner(子元素的id);

middle的currentTarget的id是middle,outter的currentTarget的id是outter;

总结:

target:事件源组件对象(事件冒泡源头)

currentTarget:当前组件对象(就是当前对象)

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

微信小程序中,e.target与e.currentTarget有何本质区别?

本文共计417个文字,预计阅读时间需要2分钟。

微信小程序中,e.target与e.currentTarget有何本质区别?

在点击小程式的交互事件中,我们常使用以下属性来传递参数:

- `target`:事件源组件对象- `currentTarget`:当前触发事件的组件对象

这两者的含义如下:

- `target`:代表事件发生的具体组件,即事件源。- `currentTarget`:代表当前正在处理事件的组件。

初学时可能对这两者的区别感到困惑。

在小程序的点击事件中,我们经常使用这两个属性来传参,看起来效果一样,查了官方文档如下:

target:事件源组件对象

currentTarget:当前组件对象

什么意思?我刚开始就有点不懂,那就直接上代码:

<view id="outter" bindtap="tap1"> outer view <view id="middle" bindtap="tap2"> middle view <view id="inner" bindtap="tap3"> inner view </view> </view> </view> tap1: function (e) { console.log(1, e) }, tap2: function (e) { console.log(2, e) }, tap3: function (e) { console.log(3, e) },

结果如下:

点击子元素inner,但由于事件冒泡父元素middle和outter都触发,从上图中我们可以看出区别:

父元素middle和outter,target的id都是等于inner(子元素的id);

middle的currentTarget的id是middle,outter的currentTarget的id是outter;

总结:

target:事件源组件对象(事件冒泡源头)

currentTarget:当前组件对象(就是当前对象)

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

微信小程序中,e.target与e.currentTarget有何本质区别?