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


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弹窗代码 可以指定弹出间隔
Jul 03 Javascript
浅谈js中字符和数组一些基本算法题
Aug 15 Javascript
基于AGS JS开发自定义贴图图层
Mar 31 Javascript
JavaScript队列函数和异步执行详解
Jun 19 Javascript
Vue中正确使用jQuery的方法
Oct 30 jQuery
Vue组件和Route的生命周期实例详解
Feb 10 Javascript
jQuery中each方法的使用详解
Mar 18 jQuery
vue实现条件判断动态绑定样式的方法
Sep 29 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
Jul 29 Javascript
Layui表格监听行单双击事件讲解
Nov 14 Javascript
ES6使用新特性Proxy实现的数据绑定功能实例
May 11 Javascript
nuxt 自定义 auth 中间件实现令牌的持久化操作
Nov 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操作mysqli(示例代码)
2013/10/28 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
php使用反射插入对象示例分享
2014/03/11 PHP
用于自动添加Digg This!按钮的JavaScript
2006/12/23 Javascript
AJAX 网页保留浏览器前进后退等功能
2011/02/12 Javascript
javascript实现页面内关键词高亮显示代码
2014/04/03 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
Lua表达式和控制结构学习笔记
2014/12/15 Javascript
javascript实现无限级select联动菜单
2015/01/02 Javascript
transport.js和jquery冲突问题的解决方法
2015/02/10 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
微信小程序 wxapp内容组件 progress详细介绍
2016/10/31 Javascript
JavaScript箭头(arrow)函数详解
2017/06/04 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
axios取消请求的实践记录分享
2018/09/26 Javascript
JS函数节流和防抖之间的区分和实现详解
2019/01/11 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
vue循环中点击选中再点击取消(单选)的实现
2020/09/10 Javascript
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python爬虫信息输入及页面的切换方法
2018/05/11 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
PyTorch-GPU加速实例
2020/06/23 Python
html5中去掉input type date默认样式的方法
2018/09/06 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
英语自我介绍演讲稿
2014/09/01 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
合作合同协议书
2016/03/21 职场文书