博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于只触发自身绑定的事件
阅读量:6859 次
发布时间:2019-06-26

本文共 887 字,大约阅读时间需要 2 分钟。

1. 微信小程序

事件的捕获阶段
自基础库版本 1.5.0 起,触摸类事件支持捕获阶段。捕获阶段位于冒泡阶段之前,且在捕获阶段中,事件到达节点的顺序与冒泡阶段恰好相反。需要在捕获阶段监听事件时,可以采用capture-bind、
capture-catch关键字,后者将中断捕获阶段和取消冒泡阶段。
  • 当子节点与父节点都用普通的bind绑定了事件时,点击子节点也会触发父节点的事件。但需求是点击子节点只触发子节点事件。这时就可以在子节点用capture-catch来绑定事件,中断事件的捕获阶段和取消冒泡阶段,这样点击子节点时就只会触发子节点事件,并且不会触发父节点事件。
  • 在以下代码中,点击inner view将只触发handleTap4(因为它中断了捕获阶段和取消了冒泡阶段)

    outer view
    inner view

2. vue

为了解决这个问题,Vue.js 为 v-on 提供了事件修饰符。之前提过,修饰符是由点开头的指令后缀来表示的。

  • stop
  • prevent
  • capture
  • self
  • once
  • passive

以上代码点击折叠面板title中的div时将不会触发折叠面板的change事件,只触发doSomething

3. 总结

要想实现只触发自身绑定的事件,而不触发它的子节点或父节点的事件,则:

  • 在微信小程序中,使用capture-catch来绑定事件
  • 在vue中,使用.stop事件修饰符

转载地址:http://qlnyl.baihongyu.com/

你可能感兴趣的文章
SOS使用详解(.NET 2.0/3.0/3.5)
查看>>
python 复习之 函数返回值
查看>>
从数据库中获取Insert语句
查看>>
Zend Studio (eclipse)使用速度优化
查看>>
Linux系统各个目录的一般作用
查看>>
maven安装与配置
查看>>
Windows Phone 8 开发环境配置(记录)
查看>>
MVC
查看>>
使用重置按钮,重置表单信息
查看>>
在指定时间干,必须干(kbmmw 中的事件调度)
查看>>
通过微信查找SAP TCODE代码
查看>>
c 二叉树的使用
查看>>
分分钟解决iOS开发中App启动广告的功能
查看>>
Helpers\Assets
查看>>
Thrift安装问题
查看>>
周末聊聊IT人员的人脉观:关于帮妹子找兼职有感
查看>>
InvokeRequired和Invoke
查看>>
IIS 之 通过 Web.config 修改文件上传大小限制设置方法
查看>>
MongoDB_C_Driver使用教程(2)高级连接
查看>>
Linux常用命令大全
查看>>