微信小程序-小程序事件冒泡和事件捕获

!> 小程序当中的时间捕获与时间冒泡与原生JS的是一样的

这里我就来直接上代码来演示一下在微信小程序当中的时间冒泡与捕获,关于时间的捕获与冒泡可以参考我JS文章里面的介绍即可。

事件捕获

index.wxml:

<view class="one" capture-bind:tap="onOneClick">
    <view class="two" capture-bind:tap="onTwoClick">
        <view class="three" capture-bind:tap="onThreeClick">
        </view>
    </view>
</view>

index.js:

onOneClick: function() {
  console.log('捕获:onOneClick');
},
onTwoClick: function() {
  console.log('捕获:onTwoClick');
},
onThreeClick: function() {
  console.log('捕获:onThreeClick');
},

事件冒泡

index.wxml:

<view class="one" bind:tap="onOneClick1">
    <view class="two" bind:tap="onTwoClick1">
        <view class="three" bind:tap="onThreeClick1">
        </view>
    </view>
</view>

index.js:

onOneClick1: function() {
  console.log('冒泡:onOneClick1');
},
onTwoClick1: function() {
  console.log('冒泡:onTwoClick1');
},
onThreeClick1: function() {
  console.log('冒泡:onThreeClick1');
},

事件捕获与冒泡

index.wxml:

<view class="one" capture-bind:tap="onOneClick" bind:tap="onOneClick1">
    <view class="two" capture-bind:tap="onTwoClick" bind:tap="onTwoClick1">
        <view class="three" capture-bind:tap="onThreeClick" bind:tap="onThreeClick1">
        </view>
    </view>
</view>

阻止事件冒泡与捕获

  • catch:阻止冒泡事件
  • capture-catch:阻止捕获事件

catch:

index.wxml:

<view class="one" bind:tap="onOneClick1">
    <view class="two" catch:tap="onTwoClick1">
        <view class="three" bind:tap="onThreeClick1">
        </view>
    </view>
</view>

image-20230416120447014

可以看到从,three 开始 到 two 就已经结束了,说明在 two 这一层就阻止在继续往上传递了所以one就触发不了。

capture-catch:

index.wxml:

<view class="one" capture-bind:tap="onOneClick">
    <view class="two" capture-catch:tap="onTwoClick">
        <view class="three" capture-bind:tap="onThreeClick">
        </view>
    </view>
</view>

image-20230416121024723

可以看到从,one 开始 到 two 就已经结束了,说明在 two 这一层就阻止在继续往下传递了所以three就触发不了。

posted @   BNTang  阅读(369)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示