微信小程序中target和currentTarget的区别小结


Posted in Javascript onNovember 06, 2020

前言

在小程序中,e.target与e.currentTarget是非常重要的,尤其是涉及到页面传值时

currentTarget和target都是组件的一些属性值集合,由“data-属性名”定义的一些属性值

currentTarget:事件触发的当前事件(当前事件,可能是触发事件的源组件,可能是触发的事件组件(即触发事件源组件的子元素),此时点击子元素还是父元素,都是当前事件,应用e.currentTarget
target:触发事件的源组件(事件注册/绑定所在组件)

举个例子:

<view bindtap="parentClick" data-parent="父元素">
<view data-child="子元素">编辑</view> 
 </view>

然后点击父元素中的子元素时:

parentClick事件中的currentTarget和target打印出来,如下:

parentClick:function(e){
console.log("点击父元素")
console.log("target",e.target)//target:{child:"子元素"}
console.log("currentTarget",e.currentTarget)//target:{parent:"父元素"}
}

因为绑定在父元素上的parentClick事件,是由子元素触发的,所以target的值就是子元素所包含的一些属性值集合;currentTarget则是绑定事件的该组件(父元素)的属性值集合。

给子元素绑定一个事件:childClick,打印出来的currentTarget和target就是一样的。

<view bindtap="parentClick" data-parent="父元素">
<view bindtap="childClick" data-child="子元素">编辑</view> 
 </view>

然后点击子元素事件:

childClick:function(e){
console.log("点击父元素")
console.log("target",e.target)//target:{child:"子元素"}
console.log("currentTarget",e.currentTarget)//target:{child:"子元素"}
}

扩展

结合this来看:

  • this === e.currentTarget 总是为true
  • this === e.target 有可能不是true

到此这篇关于微信小程序中target和currentTarget区别的文章就介绍到这了,更多相关微信小程序target和currentTarget区别内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
网站上面有这种切换效果
Jun 26 Javascript
Javascript学习笔记9 prototype封装继承
Jan 11 Javascript
javascript获得网页窗口实际大小的示例代码
Sep 21 Javascript
Jquery的基本对象转换和文档加载用法实例
Feb 25 Javascript
javascript数组遍历的方法实例分析
Sep 13 Javascript
深入浅析Vue组件开发
Nov 25 Javascript
微信小程序 Nginx环境配置详细介绍
Feb 14 Javascript
js中document.referrer实现移动端返回上一页
Feb 22 Javascript
关于Angular2 + node接口调试的解决方案
May 28 Javascript
JS使用tofixed与round处理数据四舍五入的区别
Oct 25 Javascript
element el-input directive数字进行控制
Oct 11 Javascript
JavaScript 中for/of,for/in 的详细介绍
Nov 17 Javascript
vue router-link 默认a标签去除下划线的实现
Nov 06 #Javascript
微信小程序调用后台service教程详解
Nov 06 #Javascript
Nuxt.js nuxt-link与router-link的区别说明
Nov 06 #Javascript
在nuxt中使用路由重定向的实例
Nov 06 #Javascript
Nuxt.js的路由跳转操作(页面跳转nuxt-link)
Nov 06 #Javascript
Nuxt的路由配置和参数传递方式
Nov 06 #Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
Nov 06 #Javascript
You might like
给WordPress的编辑后台添加提示框的代码实例分享
2015/12/25 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP 计算两个特别大的整数实例代码
2018/05/07 PHP
Extjs学习笔记之三 extjs form更多的表单项
2010/01/07 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
js如何调用qq互联api实现第三方登录
2014/03/28 Javascript
5个可以帮你理解JavaScript核心闭包和作用域的小例子
2014/10/08 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
ubuntu下安装nodejs以及升级的办法
2015/05/08 NodeJs
JS中产生标识符方式的演变
2015/06/12 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
浅谈JavaScript 中有关时间对象的方法
2016/08/15 Javascript
jQuery自适应轮播图插件Swiper用法示例
2016/08/24 Javascript
js编写选项卡效果
2017/05/23 Javascript
在vue中高德地图引入和轨迹的绘制的实现
2019/10/11 Javascript
Python 关于反射和类的特殊成员方法
2017/09/14 Python
numpy的文件存储.npy .npz 文件详解
2018/07/09 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
Python爬取视频(其实是一篇福利)过程解析
2019/08/01 Python
Python PyInstaller库基本使用方法分析
2019/12/12 Python
python3 实现口罩抽签的功能
2020/03/11 Python
TensorFlow的环境配置与安装教程详解(win10+GeForce GTX1060+CUDA 9.0+cuDNN7.3+tensorflow-gpu 1.12.0+python3.5.5)
2020/06/22 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
css3边框_动力节点Java学院整理
2017/07/11 HTML / CSS
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
加拿大花店:1800Flowers.ca
2016/11/16 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
科研课题实施方案
2014/03/18 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
项目战略合作意向书
2015/05/08 职场文书
2016年综治和平安建设宣传月活动总结
2016/04/01 职场文书
导游词之山东孔庙
2019/11/04 职场文书
Python图像处理库PIL详细使用说明
2022/04/06 Python
MySQL提升大量数据查询效率的优化神器
2022/07/07 MySQL