微信小程序事件对象中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应用:Iframe自适应其加载的内容高度
Apr 10 Javascript
javascript实现的动态添加表单元素input,button等(appendChild)
Nov 24 Javascript
jQuery函数map()和each()介绍及异同点分析
Nov 08 Javascript
jQuery中append()方法用法实例
Jan 08 Javascript
JS+CSS实现DIV层的展开、收缩效果
Jan 28 Javascript
js 获取当前web应用的上下文路径实现方法
Aug 19 Javascript
基于angularJS的表单验证指令介绍
Oct 21 Javascript
基于bootstrap实现多个下拉框同时搜索功能
Jul 19 Javascript
通过npm或yarn自动生成vue组件的方法示例
Feb 12 Javascript
JavaScript实现指定数量的并发限制的示例代码
Mar 10 Javascript
js代码实现轮播图
May 04 Javascript
js实现小球在页面规定的区域运动
Jun 16 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
Phpbean路由转发的php代码
2008/01/10 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
使用js实现按钮控制文本框加1减1应用于小时+分钟
2013/12/09 Javascript
用JQuery实现全选与取消的两种简单方法
2014/02/22 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
纯javascript实现图片延时加载方法
2015/08/21 Javascript
12种JavaScript常用的MVC框架比较分析
2015/11/16 Javascript
第一次接触JS require.js模块化工具
2016/04/17 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
2016/05/03 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
Ajax高级笔记 JavaScript高级程序设计笔记
2017/06/22 Javascript
canvas+gif.js打造自己的数字雨头像的示例代码
2017/10/26 Javascript
Vue 中使用vue2-highcharts实现top功能的示例
2018/03/05 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
解决eclipse中没有js代码提示的问题
2018/10/10 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
Python Opencv实现图像轮廓识别功能
2020/03/23 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
用python写测试数据文件过程解析
2019/09/25 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
html5使用canvas画三角形
2014/12/15 HTML / CSS
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
SmartBuyGlasses英国:购买太阳镜和眼镜
2018/01/29 全球购物
abstract是什么意思
2012/02/12 面试题
解释下面关于J2EE的名词
2013/11/15 面试题
医学专业职业生涯规划范文
2014/02/05 职场文书
工程安全生产协议书
2014/11/21 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
自我检讨报告
2015/01/28 职场文书
2016北大自主招生自荐信模板
2016/01/28 职场文书
Nginx location 和 proxy_pass路径配置问题小结
2021/09/04 Servers
MySQL数据库安装方法与图形化管理工具介绍
2022/05/30 MySQL