简单了解微信小程序 e.target与e.currentTarget的不同


Posted in Javascript onSeptember 27, 2019

在小程序的点击事件中,我们经常使用这两个属性来传参,看起来效果一样,查了官方文档如下:

target:事件源组件对象

currentTarget:当前组件对象

什么意思?我刚开始就有点不懂,那就直接上代码:

<view id="outter" bindtap="tap1">
  outer view
  <view id="middle" bindtap="tap2">
   middle view
   <view id="inner" bindtap="tap3">
    inner view
   </view>
  </view>
</view>
 tap1: function (e) {
  console.log(1, e)
 },
 tap2: function (e) {
  console.log(2, e)
 },
 tap3: function (e) {
  console.log(3, e)
 },

结果如下:

简单了解微信小程序 e.target与e.currentTarget的不同

点击子元素inner,但由于事件冒泡父元素middle和outter都触发,从上图中我们可以看出区别:

父元素middle和outter,target的id都是等于inner(子元素的id);

middle的currentTarget的id是middle,outter的currentTarget的id是outter;

总结:

target:事件源组件对象(事件冒泡源头)

currentTarget:当前组件对象(就是当前对象)

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

Javascript 相关文章推荐
测试JavaScript字符串处理性能的代码
Dec 07 Javascript
DIV菜单层实现代码
Nov 19 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 Javascript
Knockoutjs 学习系列(一)ko初体验
Jun 07 Javascript
js实现打地鼠小游戏
Feb 13 Javascript
详解Vue+axios+Node+express实现文件上传(用户头像上传)
Aug 10 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
Nov 28 Javascript
详解JS取出两个数组中的不同或相同元素
Mar 20 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
May 30 Javascript
VUE+elementui组件在table-cell单元格中绘制微型echarts图
Apr 20 Javascript
vue循环中点击选中再点击取消(单选)的实现
Sep 10 Javascript
vue封装自定义指令之动态显示title操作(溢出显示,不溢出不显示)
Nov 12 Javascript
ligerUI的ligerDialog关闭刷新的方法
Sep 27 #Javascript
微信小程序 冒泡事件原理解析
Sep 27 #Javascript
JavaScript实现背景自动切换小案例
Sep 27 #Javascript
vue监听用户输入和点击功能
Sep 27 #Javascript
vue实现文字加密功能
Sep 27 #Javascript
微信小程序 动态修改页面数据及参数传递过程详解
Sep 27 #Javascript
vue实现购物车小案例
Sep 27 #Javascript
You might like
WHOIS类的修改版
2006/10/09 PHP
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
jQuery数组处理代码详解(含实例演示)
2012/02/03 Javascript
得到jQuery detach()后节点中的某个值实现代码
2013/02/05 Javascript
jQuery层次选择器选择元素使用介绍
2013/04/18 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
javascript编程实现栈的方法详解【经典数据结构】
2017/04/11 Javascript
JavaScript 中调用 Kotlin 方法实例详解
2017/06/09 Javascript
JS 组件系列之Bootstrap Table 冻结列功能IE浏览器兼容性问题解决方案
2017/06/30 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
ndm:NPM的桌面GUI应用程序
2018/10/15 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
JavaScript中this用法学习笔记
2019/03/17 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
简单介绍Python中的floor()方法
2015/05/15 Python
Django中使用group_by的方法
2015/05/26 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
2018/04/17 Python
python实现对任意大小图片均匀切割的示例
2018/12/05 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
python tqdm库的使用
2020/11/30 Python
浅谈利用缓存来优化HTML5 Canvas程序的性能
2015/05/12 HTML / CSS
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
PHP开发工程师面试问题集锦
2012/11/01 面试题
如何写出高性能的JSP和Servlet
2013/01/22 面试题
建筑施工员岗位职责
2013/11/26 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
考生诚信考试承诺书
2015/04/29 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
MySQL中varchar和char类型的区别
2021/11/17 MySQL
JavaScript文档对象模型DOM
2021/11/20 Javascript