微信小程序冒泡事件及其阻止方法实例分析


Posted in Javascript onDecember 06, 2018

本文实例讲述了微信小程序冒泡事件及其阻止方法。分享给大家供大家参考,具体如下:

事件的类别分为几种:

  • 点击事件:tap
  • 长按事件:longtap
  • 触摸事件:touchstart; touchend;touchcancel;touchmove
  • 其他:input;submit....

其中前三类是冒泡事件,其他的称为非冒泡事件

写一个简单的例子,代码就不一一贴出来了,WXML的文件如下:

<view class='redview' bindtap='redclick'>
 红色
 <view class='yellowview' bindtap='yellowclick'>
  黄色
  <view class='blueview' bindtap='blueclick'>
   蓝色
  </view>
 </view>
</view>

效果如图:

微信小程序冒泡事件及其阻止方法实例分析

当我点击最内层的蓝色方框的时候,打印的结果如下:

微信小程序冒泡事件及其阻止方法实例分析

冒泡事件的机制是先打印点击的蓝色,也就是最内层,然后依次打印第二层和第三层。假设点击黄色层,会依次打印出黄色和红色。点击红色时只打印红色。

但是也可以阻止冒泡事件的发生,其实很简单,直接把bindtap改为catchtap即可。

<view class='redview' bindtap='redclick'>
 红色
 <view class='yellowview' bindtap='yellowclick'>
  黄色
  <view class='blueview' catchtap='blueclick'>
   蓝色
  </view>
 </view>
</view>

这样你点击最内层的蓝色,只会打印蓝色而不会打印出黄色和红色了。但是点击黄色还是会打印黄色和红色,这个时候再把黄色页面的bindtap改成catchtap就可以了。

友情提示:有一部分标签是默认在最上层的,比如video,想在video上放一个view然后设置catchtap将video覆盖是无效的。

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
Nov 03 Javascript
jquery插件制作 自增长输入框实现代码
Aug 17 jQuery
简单实用jquery版三级联动select示例
Jul 04 Javascript
jquery移除、绑定、触发元素事件使用示例详解
Apr 10 Javascript
js生成随机数的过程解析
Nov 24 Javascript
JS中call/apply、arguments、undefined/null方法详解
Feb 15 Javascript
Jquery实现select multiple左右添加和删除功能的简单实例
May 26 Javascript
jQuery检查元素存在性(推荐)
Sep 17 Javascript
EasyUI学习之DataGird分页显示数据
Dec 29 Javascript
简述vue中的config配置
Jan 23 Javascript
D3.js实现拓扑图的示例代码
Jun 30 Javascript
浅谈Node 异步IO和事件循环
May 05 Javascript
谈谈React中的Render Props模式
Dec 06 #Javascript
详解Vue-axios 设置请求头问题
Dec 06 #Javascript
超好用的jQuery分页插件jpaginate用法示例【附源码下载】
Dec 06 #jQuery
jQuery动态操作表单示例【基于table表格】
Dec 06 #jQuery
js防抖和节流的深入讲解
Dec 06 #Javascript
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 #Javascript
微信小程序dom操作的替代思路实例分析
Dec 06 #Javascript
You might like
基于php实现随机合并数组并排序(原排序)
2015/11/26 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
Ajax实现对静态页面的文章访问统计功能示例
2016/10/10 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
PHP字符串和十六进制如何实现互相转换
2020/07/16 PHP
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
锋利的jQuery 第三章章节总结的例子
2010/03/23 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
JavaScript学习笔记之ES6数组方法
2016/03/25 Javascript
AngularJS 模型详细介绍及实例代码
2016/07/27 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
js canvas实现二维码和图片合成的海报
2020/11/19 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
2019/05/29 Javascript
js 闭包深入理解与实例分析
2020/03/19 Javascript
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
Python 获得13位unix时间戳的方法
2017/10/20 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python构造IP报文实例
2020/05/05 Python
Python如何绘制日历图和热力图
2020/08/07 Python
python 通过exifread读取照片信息
2020/12/24 Python
python解包用法详解
2021/02/17 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
人事助理自荐信
2014/02/02 职场文书
《囚绿记》教学反思
2014/03/01 职场文书
军训教官感言
2014/03/02 职场文书
2014学雷锋活动总结
2014/03/09 职场文书
党日活动总结
2014/05/07 职场文书
应届生找工作求职信
2014/06/24 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
2015年光棍节活动总结
2015/03/24 职场文书
python plt.plot bar 如何设置绘图尺寸大小
2021/06/01 Python