微信小程序中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 相关文章推荐
jquery判断单个复选框是否被选中的代码
Sep 03 Javascript
用js读、写、删除Cookie代码分享及详细注释说明
Jun 05 Javascript
artDialog+plupload实现多文件上传
Jul 19 Javascript
修改jquery中dialog的title属性方法(推荐)
Aug 26 Javascript
JavaScript交换两个变量值的七种解决方案
Dec 01 Javascript
简单理解js的冒泡排序
Dec 19 Javascript
bootstrap中添加额外的图标实例代码
Feb 15 Javascript
jQuery插件imgAreaSelect基础讲解
May 26 jQuery
解决vue.js this.$router.push无效的问题
Sep 03 Javascript
在vue中根据光标的显示与消失实现下拉列表
Sep 29 Javascript
浅谈javascript如何获取文件后缀名
Aug 07 Javascript
浅析 Vue 3.0 的组装式 API(一)
Aug 31 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
安健A254立体声随身听的分析与打磨
2021/03/02 无线电
《PHP边学边教》(02.Apache+PHP环境配置――上篇)
2006/12/13 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
javascript中的prototype属性实例分析说明
2010/08/09 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
javascript读取xml实现javascript分页
2013/12/13 Javascript
node.js中的fs.truncateSync方法使用说明
2014/12/15 Javascript
JS实现从网页顶部掉下弹出层效果的方法
2015/08/06 Javascript
JS实现不使用图片仿Windows右键菜单效果代码
2015/10/22 Javascript
jQuery实现标签子元素的添加和赋值方法
2018/02/24 jQuery
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
使用layui前端框架弹出form表单以及提交的示例
2019/10/25 Javascript
vue新建项目并配置标准路由过程解析
2019/12/09 Javascript
Javascript操作select控件代码实例
2020/02/14 Javascript
[03:21]辉夜杯主赛事 12月25日TOP5
2015/12/26 DOTA
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python使用当前时间、随机数产生一个唯一数字的方法
2017/09/18 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
使用Python生成200个激活码的实现方法
2019/11/22 Python
使用OpenCV-python3实现滑动条更新图像的Canny边缘检测功能
2019/12/12 Python
Python标准库itertools的使用方法
2020/01/17 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
keras 使用Lambda 快速新建层 添加多个参数操作
2020/06/10 Python
python打包多类型文件的操作方法
2020/09/21 Python
python中yield的用法详解
2021/01/13 Python
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
ALDI奥乐齐官方海外旗舰店:德国百年超市
2017/12/27 全球购物
国贸类专业毕业生的求职信分享
2013/12/08 职场文书
季度思想汇报
2014/01/01 职场文书
中专自我鉴定
2014/02/05 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
环境科学专业教师求职信
2014/07/12 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
2014年审计工作总结
2014/11/17 职场文书