微信小程序中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对checkbox操作 (循环获取)
May 20 Javascript
js中字符替换函数String.replace()使用技巧
Aug 14 Javascript
jquery实现网站超链接和图片提示效果
Mar 21 Javascript
基于canvas实现的钟摆效果完整实例
Jan 26 Javascript
详谈javascript异步编程
Feb 21 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
Nov 18 Javascript
js实现选项卡内容切换以及折叠和展开效果【推荐】
Jan 08 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
Aug 22 Javascript
vue slot与传参实例代码讲解
Apr 28 Javascript
JS根据json数组多个字段排序及json数组常用操作
Jun 06 Javascript
layui: layer.open加载窗体时出现遮罩层的解决方法
Sep 26 Javascript
javascript将扁平的数据转为树形结构的高效率算法
Feb 27 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.MVC的模板标签系统(二)
2006/09/05 PHP
PHP给文字内容中的关键字进行套红处理
2016/04/12 PHP
Thinkphp 中 distinct 的用法解析
2016/12/14 PHP
PHP时间函数使用详解
2019/03/21 PHP
jquery移动listbox的值原理及代码
2013/05/03 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
jquery制作图片时钟特效
2020/03/30 Javascript
JS iFrame加载慢怎么解决
2016/05/13 Javascript
Augularjs-起步详解
2016/07/08 Javascript
js实现文字超出部分用省略号代替实例代码
2016/09/01 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
JavaScript实现无限级递归树的示例代码
2019/03/29 Javascript
小白教程|一小时上手最流行的前端框架vue(推荐)
2019/04/10 Javascript
通过javascript实现段落的收缩与展开
2019/06/26 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
javascript实现前端成语点击验证优化
2020/06/24 Javascript
Vue使用Ref跨层级获取组件的步骤
2021/01/25 Vue.js
解决python写的windows服务不能启动的问题
2014/04/15 Python
python网络编程之读取网站根目录实例
2014/09/30 Python
分析python切片原理和方法
2017/12/19 Python
python随机在一张图像上截取任意大小图片的方法
2019/01/24 Python
python操作kafka实践的示例代码
2019/06/19 Python
pandas中的series数据类型详解
2019/07/06 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
NARS化妆品官方商店:美国彩妆品牌
2017/08/26 全球购物
欧洲最大的球衣网上商店:Kitbag
2017/11/11 全球购物
请说出你所知道的线程同步的方法
2013/04/19 面试题
对于没有初始化的变量的初始值可以作怎样的假定
2014/10/12 面试题
办公室助理岗位职责
2013/12/25 职场文书
学校办公室主任职责
2013/12/27 职场文书
企业安全生产承诺书
2014/05/22 职场文书
公司副总经理任命书
2014/06/05 职场文书
解读MySQL的客户端和服务端协议
2021/05/10 MySQL