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


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 相关文章推荐
extjs 学习笔记 四 带分页的grid
Oct 20 Javascript
jquery animate 动画效果使用说明
Nov 04 Javascript
js下获得客户端操作系统的函数代码(1:vista,2:windows7,3:2000,4:xp,5:2003,6:2008)
Oct 31 Javascript
jQuery $.each遍历对象、数组用法实例
Apr 16 Javascript
最佳的JavaScript错误处理实践
Jul 16 Javascript
如何解决jQuery EasyUI 已打开Tab重新加载问题
Dec 19 Javascript
简单实现jQuery级联菜单
Jan 09 Javascript
zTree实现节点修改的实时刷新功能
Mar 20 Javascript
Electron autoUpdater实现Windows安装包自动更新的方法
Dec 24 Javascript
详解vue 兼容IE报错解决方案
Dec 29 Javascript
微信小程序 textarea 层级过高问题简单解决方案
Oct 14 Javascript
vue+element 实现商城主题开发的示例代码
Mar 26 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使用json_encode对变量json编码
2014/04/07 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
腾讯微博提示missing parameter errorcode 102 错误的解决方法
2014/12/22 PHP
thinkphp自带验证码全面解析
2016/09/18 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
PHPUnit + Laravel单元测试常用技能
2019/11/06 PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
2020/01/04 PHP
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
详谈javascript中DOM的基本属性
2015/02/26 Javascript
JavaScript中使用concat()方法拼接字符串的教程
2015/06/06 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
微信小程序实现默认第一个选中变色效果
2018/07/17 Javascript
如何用RxJS实现Redux Form
2018/12/29 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
[40:31]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python三级目录展示的实现方法
2016/09/28 Python
python pandas 对series和dataframe的重置索引reindex方法
2018/06/07 Python
python实现二维数组的对角线遍历
2019/03/02 Python
Python函数参数匹配模型通用规则keyword-only参数详解
2019/06/10 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
Python爬取爱奇艺电影信息代码实例
2019/11/26 Python
利用matplotlib实现根据实时数据动态更新图形
2019/12/13 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
用python对oracle进行简单性能测试
2020/12/05 Python
css3的transform造成z-index无效解决方案
2014/12/04 HTML / CSS
质检员的岗位职责
2013/11/15 职场文书
结构工程个人自荐信范文
2013/11/30 职场文书
签约仪式主持词
2014/03/19 职场文书
党性分析自查总结
2014/10/14 职场文书
如何写贫困证明申请书
2014/10/29 职场文书
十岁生日答谢词
2015/01/05 职场文书
珍惜时间的诗歌赏析
2019/08/23 职场文书
导游词之阆中古城
2019/12/23 职场文书