事件的类别分为几种:

点击事件: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覆盖是无效的。

转: https://blog.csdn.net/qq_36002582/article/details/78755427

转载于:https://www.cnblogs.com/fps2tao/p/10214049.html

微信小程序:冒泡事件及其阻止相关推荐

  1. 微信小程序阻止冒泡点击_微信小程序bindtap事件与冒泡阻止详解

    bindtap就是点击事件 在.wxml文件绑定: cilck here 在一个组件的属性上添加bindtap并赋予一个值(一个函数名) 当点击该组件时, 会触发相应的函数执行 在后台.js文件中定义 ...

  2. wxml修改样式_微信小程序 动态绑定事件并实现事件修改样式

    微信小程序 动态绑定事件并实现事件修改样式 实例代码 wxml {{item.name}} js var reportTypeList = [ { name: "日报1", id: ...

  3. 微信小程序 webview 返回按钮阻止返回

    一.需求:微信小程序在使用webview 时,导航栏是不允许自己修改的.对于左上角的返回按钮,如果相要在返回的时候,弹框确定后再返回,微信小程序是没有api支持.在微信小程序的思路上基本无解. 二.解 ...

  4. 微信小程序-绑定事件以及bindtap和catchtap的区别

    前言 在微信小程序的开发过程中我们肯定会遇到时间绑定的问题,这时候我们一般都是采用bandtap或者是catchtap进行事件绑定的.那么他们两个的区别在哪里呢? 一.首先我们要先知道什么是事件 微信 ...

  5. 微信小程序scroll事件/onPageScroll事件的延迟问题

    需求 在前端开发中,我们经常会遇到一个需求,在页面进行滚动操作的时候,当页面其中的某个元素滚动到某个位置,我们就让该元素停留在该位置.等到滚动小于某个值的时候,再让该元素继续随着页面滚动.这就是我们平 ...

  6. 微信小程序 - 绑定事件 bindtap(包括是否传入参数)

      小程序绑定事件的方式有很多种,这里我只对bindtap的绑定方式进行介绍,其他的绑定方式也是差不多这样的. 1.不带参数的绑定方式 index.wxml文件中:share表示绑定的事件名称 < ...

  7. WeChat applet 微信小程序(3) 事件绑定

    WeChat applet 事件绑定 概述 事件是视图层到逻辑层的通讯方式,事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定到组件,当用户在视图层触发该组件的事件时,就会执行逻辑层中对应的事件 ...

  8. 微信小程序 bindtap事件与catchtap事件

    大家好,最近一直在研究小程序开发,当对控件绑定事件的时候,发现 bindtap 和catchtap都可以触发事件,然而 点击单个按钮,这两个方法都可以实现事件触发,实现页面跳转功能等等,那么他俩到底有 ...

  9. 微信小程序页面事件 - 下拉刷新与上拉触底

    一.下拉刷新 1.概念:下拉刷新是移动端的专有名词,指的是通过手指在屏幕上的下拉滑动操作,从而重新加载页面数据的行为. 2. 启用下拉刷新 启用下拉刷新有两种方式: ①全局开启下拉刷新 在 app.j ...

最新文章

  1. SQL查询库、表,列等的一些操作
  2. SAP CRM and C4C PDF print
  3. Git的使用(快速入门)
  4. android listview使用自定义的adapter没有了OnItemClickListener事件解决办法
  5. 智能情绪分析技术_石化缘推荐:炼化企业智能机器人巡检技术应用前景分析!...
  6. 跳台阶游戏(洛谷P5613题题解,Java语言描述)
  7. .NET环境下水晶报表使用总
  8. MySQL8 全部类型
  9. Spring DI如何给对象赋空值 以及 对 “” null 空值的总结
  10. python基本网络爬虫代码_Python实现网页爬虫基本实现代码解读
  11. Mac上很好用的播放器Elmedia Player
  12. wps2005插件开发之旅
  13. 【医疗图像分割】Deep neural networks for the detection and segmentation of the retinal fluid in OCT images.
  14. python能用于unix吗_用Python实现低配的Unix Cron,一个能让程序在计划的时间运行的系统...
  15. Makefile里的wildcard 理解
  16. jQuery EasyUI详解-EasyUI环境配置
  17. 代码管理 阿里云 云效 设置云效 SSH 公钥 下载代码到本地配置SSH
  18. ensembl数据库BioMart使用,查找转录本ID在ensembl与refseq中的对应关系
  19. Hexo阶段三 -- 将Hexo部署到github
  20. 如何在fluent中设置各向异性材料

热门文章

  1. 第三课--AMP架构双核应用程序开发和软中断处理(一)
  2. django xadmin ForeignKey display
  3. 7.PL_SQL——在PL_SQL程序中内嵌查询语句、DML语句、事物处理语句和游标属性
  4. 安装mysql时报错:计算机中丢失VCRUNTIME140_1.dll,亲测有效
  5. ORACLE SQL分组查询某列或某几列重复信息数量
  6. 假如明天灾难来临_北京医保容灾
  7. 我的教师生涯4:被忘却的第一节课
  8. 安装VS2008关于解决磁盘已满问题方案.
  9. TDS、NET-Library和网络协议
  10. 2019-09-30