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


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 复制或插入Html的实现方法小结
May 19 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
Aug 02 Javascript
浅析showModalDialog数据缓存问题(用禁止浏览器缓存解决)
Jul 09 Javascript
jQuery性能优化的38个建议
Mar 04 Javascript
JavaScript中常见的字符串操作函数及用法汇总
May 04 Javascript
jquery不常用方法汇总
Jul 26 Javascript
jquery实现可关闭的倒计时广告特效代码
Sep 02 Javascript
javaScript嗅探执行神器-sniffer.js
Feb 14 Javascript
jQuery实现搜索页面关键字的功能
Feb 16 Javascript
node.js入门教程之querystring模块的使用方法
Feb 27 Javascript
vue 监听屏幕高度的实例
Sep 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
基于OpenCV的PHP图像人脸识别技术
2009/10/11 PHP
破解Session cookie的方法
2006/07/28 Javascript
非常漂亮的JS代码经典广告
2007/10/21 Javascript
javascript 避免闭包引发的问题
2009/03/17 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
jQuery实现Email邮箱地址自动补全功能代码
2015/11/03 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
Node.js的文件权限及读写flag详解
2016/10/11 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
2016/12/17 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
Vue2.0中集成UEditor富文本编辑器的方法
2018/03/03 Javascript
在vue.js中使用JSZip实现在前端解压文件的方法
2018/09/05 Javascript
在axios中使用params传参的时候传入数组的方法
2018/09/25 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
浅谈鸿蒙 JavaScript GUI 技术栈
2020/09/17 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
利用标准库fractions模块让Python支持分数类型的方法详解
2017/08/11 Python
Python3处理HTTP请求的实例
2018/05/10 Python
使用Python检测文章抄袭及去重算法原理解析
2019/06/14 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
Python安装并操作redis实现流程详解
2020/10/13 Python
canvas实现滑动验证的实现示例
2020/08/11 HTML / CSS
美国著名的家居用品购物网站:Bed Bath & Beyond
2018/01/05 全球购物
微软中国官方旗舰店:销售Surface、Xbox One、笔记本电脑、Office
2018/07/23 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
项目计划书范文
2014/01/09 职场文书
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
公司股东合作协议书
2014/09/14 职场文书
2014年图书室工作总结
2014/12/09 职场文书
2015新员工试用期工作总结
2014/12/12 职场文书
客户经理岗位职责大全
2015/04/09 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
2015年教研工作总结
2015/05/23 职场文书
员工工作失职检讨书范文!
2019/07/03 职场文书
HAM-2000摩机图
2021/04/22 无线电