微信小程序中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 相关文章推荐
数组方法解决JS字符串连接性能问题有争议
Jan 12 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
Nov 23 Javascript
node.js中的fs.read方法使用说明
Dec 17 Javascript
JS简单实现多级Select联动菜单效果代码
Sep 06 Javascript
莱鸟介绍javascript onclick事件
Jan 06 Javascript
jQuery页面加载初始化的3种方法(推荐)
Jun 02 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
jquery中done和then的区别(详解)
Dec 19 jQuery
10个经典的网页鼠标特效代码
Jan 09 Javascript
纯JS实现出生日期[年月日]下拉菜单效果
Jun 01 Javascript
ES6 Object属性新的写法实例小结
Jun 25 Javascript
详解CocosCreator消息分发机制
Apr 16 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
php empty()与isset()区别的详细介绍
2013/06/17 PHP
PHP Global定义全局变量使用说明
2013/08/15 PHP
php抓取并保存网站图片的实现代码
2015/10/28 PHP
php实现倒计时效果
2015/12/19 PHP
php实现的rc4加密解密类定义与用法示例
2018/08/16 PHP
redis+php实现微博(二)发布与关注功能详解
2019/09/23 PHP
javascript与webservice的通信实现代码
2010/12/25 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
Prototype源码浅析 String部分(四)之补充
2012/01/16 Javascript
纯css+js写的一个简单的tab标签页带样式
2014/01/28 Javascript
JavaScript中的Math 使用介绍
2014/04/21 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
JavaScript实现文字跟随鼠标特效
2015/08/06 Javascript
JS实现自动切换文字的导航效果代码
2015/08/27 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
基于JQuery及AJAX实现名人名言随机生成器
2017/02/10 Javascript
使用JavaScriptCore实现OC和JS交互详解
2017/03/28 Javascript
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
解决antd datepicker 获取时间默认少8个小时的问题
2020/10/29 Javascript
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python与c语言的语法有哪些不一样的
2020/09/13 Python
美国生鲜及杂货电商:FreshDirect
2018/01/29 全球购物
C语言笔试集
2012/07/24 面试题
大学生自荐书范文
2013/12/10 职场文书
法律系毕业生自荐信范文
2014/03/27 职场文书
爱国口号
2014/06/19 职场文书
教师聘用意向书
2015/05/11 职场文书
如何利用map实现Nginx允许多个域名跨域
2021/03/31 Servers
python神经网络编程之手写数字识别
2021/05/08 Python
游戏《我的世界》澄清Xbox版暂无计划加入光追
2022/04/03 其他游戏