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


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 相关文章推荐
Mootools 1.2教程 同时进行多个形变动画
Sep 15 Javascript
javascript或asp实现的判断身份证号码是否正确两种验证方法
Nov 26 Javascript
in.js 一个轻量级的JavaScript颗粒化模块加载和依赖关系管理解决方案
Jul 26 Javascript
jquery弹出层类代码分享
Dec 27 Javascript
jQuery拖拽排序插件制作拖拽排序效果(附源码下载)
Feb 23 Javascript
JS判断字符串变量是否含有某个字串的实现方法
Jun 03 Javascript
原生JavaScript实现的简单放大镜效果示例
Feb 07 Javascript
vue 开发一个按钮组件的示例代码
Mar 27 Javascript
JavaScript数据结构与算法之二叉树添加/删除节点操作示例
Mar 01 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
Apr 10 Javascript
Javascript实现简易天数计算器
May 18 Javascript
JavaScript中的函数式编程详解
Aug 22 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
Session的工作方式
2006/10/09 PHP
php文件上传后端处理小技巧
2016/05/22 PHP
老生常谈PHP数组函数array_merge(必看篇)
2017/05/25 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
js 字符串操作函数
2009/07/25 Javascript
JQuery中$(document)是什么意思有什么作用
2014/07/21 Javascript
javascript中利用柯里化函数实现bind方法
2016/04/29 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
webpack组织模块打包Library的原理及实现
2018/03/10 Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
2018/08/31 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
如何搭建一个完整的Vue3.0+ts的项目步骤
2020/10/18 Javascript
解决Element中el-date-picker组件不回填的情况
2020/11/07 Javascript
jquery实现加载更多&quot;转圈圈&quot;效果(示例代码)
2020/11/09 jQuery
centos 下面安装python2.7 +pip +mysqld
2014/11/18 Python
python检查序列seq是否含有aset中项的方法
2015/06/30 Python
python+pyqt5编写md5生成器
2019/03/18 Python
python3.6环境安装+pip环境配置教程图文详解
2019/06/20 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
Python自动巡检H3C交换机实现过程解析
2020/08/14 Python
eBay德国站:eBay.de
2017/09/14 全球购物
软件设计的目标是什么
2016/12/04 面试题
本科生个人求职自荐信
2013/09/26 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
副科级后备干部考察材料
2014/05/15 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
企业党建工作总结2015
2015/05/26 职场文书
2015年教师节主持词
2015/07/03 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
安全教育日主题班会
2015/08/13 职场文书
求职信:求职应该注意的问题
2019/04/24 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
小学四年级作文之最感动的一件事
2019/11/01 职场文书
uniapp开发小程序的经验总结
2021/04/08 Javascript