微信小程序事件对象中e.target和e.currentTarget的区别详解


Posted in Javascript onMay 08, 2019

在小程序的事件回调触发时,会接收一个事件对象,事件对象的参数中包含一个target和currentTarget属性,接下来说说这二者的区别。

首先上代码:

wxml部分:

<view id='tar-father' bindtap='click'>
  父组件
  <view id='tar-children'>子组件</view>
 </view>

wxss部分:

#tar-father{
 width: 300rpx;
 height: 300rpx;
 background-color: skyblue;
}
#tar-children{
 background-color: pink;
}

效果图

微信小程序事件对象中e.target和e.currentTarget的区别详解

js部分:

click: function (event) {
  console.log(event.target)
  console.log(event.currentTarget)
 }

当点击图中粉色子组件区域时的输出结果:

微信小程序事件对象中e.target和e.currentTarget的区别详解

event.target 为其子组件,也就是触发该事件的源头组件

event.currentTarget 为事件所绑定的组件

当点击图中蓝色父组件区域时的输出结果:

微信小程序事件对象中e.target和e.currentTarget的区别详解

event.target 为父组件,因为触发的源头也就是父组件本身

event.currentTarget 始终为事件所绑定的组件

总结:target对应的是触发事件的源头组件,这个组件有可能是子组件,有可能是父组件,主要是看执行动作的区域。而currentTarget始终对应事件所绑定的组件。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript URL参数读取改进版
Jan 16 Javascript
javascript CSS画图之基础篇
Jul 29 Javascript
用jquery实现点击栏目背景色改变
Dec 10 Javascript
jquery插件开发之实现md5插件
Mar 17 Javascript
四种参数传递的形式——URL,超链接,js,form表单
Jul 24 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
Feb 03 Javascript
JS实现根据密码长度显示安全条功能
Mar 08 Javascript
Vue2递归组件实现树形菜单
Apr 10 Javascript
vue 使用html2canvas将DOM转化为图片的方法
Sep 11 Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
你了解vue3.0响应式数据怎么实现吗
Jun 07 Javascript
element-ui 文件上传修改文件名的方法示例
Nov 05 Javascript
利用原生JavaScript实现造日历轮子实例代码
May 08 #Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
May 08 #Javascript
vue实现菜单切换功能
May 08 #Javascript
浅谈JS的原型和继承
May 08 #Javascript
vue使用vuex实现首页导航切换不同路由的方法
May 08 #Javascript
微信小程序封装自定义弹窗的实现代码
May 08 #Javascript
Vue.js轮播图走马灯代码实例(全)
May 08 #Javascript
You might like
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
PHP7内核之Reference详解
2019/03/14 PHP
setInterval 和 setTimeout会产生内存溢出
2008/02/15 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
jquery ajax,ashx,json的用法总结
2014/02/12 Javascript
jQuery的选择器中的通配符使用介绍
2014/03/20 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
JavaScript及jquey实现多个数组的合并操作
2014/09/06 Javascript
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
2015/05/14 Javascript
JavaScript+html5 canvas制作的百花齐放效果完整实例
2016/01/26 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
浅谈javascript控制HTML5的全屏操控,浏览器兼容的问题
2016/10/10 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
详解webpack进阶之loader篇
2017/08/23 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
解决微信小程序scroll-view组件无横向滚动的问题
2020/02/04 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
JS实现公告上线滚动效果
2021/01/10 Javascript
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
python 从远程服务器下载日志文件的程序
2013/02/10 Python
Python中使用asyncio 封装文件读写
2016/09/11 Python
如何用Python来理一理红楼梦里的那些关系
2019/08/14 Python
Python3.6实现根据电影名称(支持电视剧名称),获取下载链接的方法
2019/08/26 Python
Python列表操作方法详解
2020/02/09 Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
2020/07/13 Python
Python threading模块condition原理及运行流程详解
2020/10/05 Python
Lulu Guinness露露·吉尼斯官网:红唇包
2019/02/03 全球购物
DJI全球:DJI Global
2021/03/15 全球购物
汇智创新科技发展有限公司
2015/12/06 面试题
个人培训自我鉴定
2014/03/28 职场文书
仅仅使用 HTML/CSS 实现各类进度条的方式汇总
2021/11/11 HTML / CSS
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis