微信小程序中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 相关文章推荐
理解JavaScript中的事件
Sep 23 Javascript
再谈IE中Flash控件的自动激活 ObjectWrap
Mar 09 Javascript
cnblogs中在闪存中屏蔽某人的实现代码
Nov 14 Javascript
jQuery Animation实现CSS3动画示例介绍
Aug 14 Javascript
使用javascript实现ListBox左右全选,单选,多选,全请
Nov 07 Javascript
基于JS实现省市联动效果代码分享
Jun 06 Javascript
js中数组的常用方法小结
Dec 30 Javascript
浅谈关于.vue文件中style的scoped属性
Aug 19 Javascript
vue实现评论列表功能
Oct 25 Javascript
vue实现简单瀑布流布局
May 28 Javascript
JavaScript实现移动端带transition动画的轮播效果
Mar 24 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
Aug 10 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正则提取图片地址
2014/03/27 PHP
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
2014/08/28 PHP
php获取当月最后一天函数分享
2015/02/02 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
PHP使用php-resque库配合Redis实现MQ消息队列的教程
2016/06/29 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
2009/04/07 Javascript
JQuery 技巧和窍门整理(8个)
2010/04/22 Javascript
20款非常优秀的 jQuery 工具提示插件 推荐
2012/07/15 Javascript
Node.js生成HttpStatusCode辅助类发布到npm
2013/04/09 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
jQuery实现放大镜效果实例代码
2016/03/17 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
解决vue单页路由跳转后scrollTop的问题
2018/09/03 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
Vue可自定义tab组件用法实例
2019/10/24 Javascript
vue-cli3配置favicon.ico和title的流程
2020/10/27 Javascript
python 读取.csv文件数据到数组(矩阵)的实例讲解
2018/06/14 Python
更新修改后的Python模块方法
2019/03/03 Python
用python3 urllib破解有道翻译反爬虫机制详解
2019/08/14 Python
python3.6编写的单元测试示例
2019/08/17 Python
自定义django admin model表单提交的例子
2019/08/23 Python
Windows下python3安装tkinter的问题及解决方法
2020/01/06 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
python批量生成身份证号到Excel的两种方法实例
2021/01/14 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
精灵市场:Pixie Market
2019/06/18 全球购物
单位在职证明范本
2014/01/09 职场文书
中学生期末评语
2014/02/03 职场文书
助理政工师申报材料
2014/06/03 职场文书
社区志愿者活动方案
2014/08/18 职场文书
2019同学聚会主持词
2019/05/06 职场文书
详解Python+OpenCV绘制灰度直方图
2022/03/22 Python