微信小程序bind事件和catch事件区别

本文通过实例详细解析了小程序中bind和catch事件的区别,重点介绍了如何使用bindtap与catchtap实现不同的事件冒泡行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在小程序中事件分为冒泡事件非冒泡事件

本文以冒泡事件tap(手指触摸后马上离开,也就是点击事件)为例子来区别bind和catch事件

bindtap  事件绑定不会阻止冒泡事件向上冒泡

catchtap  事件绑定可以阻止冒泡事件向上冒泡

假如有三个view点击事件都是用的bindtap,三个view是层级包含关系

<view id="outer" bindtap="out">

         outer view

    <view id="middle" bindtap="middle">

         middle view

       <view id="inner" bindtap="inner">

        inner view

       </view>

   </view>

</view>

我么在js里代码是在相对应的事件打印出log,代码如下

out:function(e){

     console.log("--out bindtap click")

}, middle: function (e) {

     console.log("--middle bindtap click")

}, inner: function (e) {
  
     console.log("--inner bindtap click")

}

点击out view打印出一条log ,--out bindtap click

点击middle view打印出两条log, --middle bindtap click      --out bindtap click

点击innew view打印出三条log,--inner bindtap click   --middle bindtap click      --out bindtap click

可以看出bindtap不阻止向上冒泡,所以点击inner一直冒泡到了最外层。

 

如果我们只修改 middle view的bindtap为catchtap

点击out view打印出一条log ,--out bindtap click  (因为没有上层元素故而无法向上冒泡)

点击middle view打印出一条log, --middle bindtap click      (catchtap阻止向上冒泡)

点击innew view打印出两条log,--inner bindtap click   --middle bindtap click      (catchtap阻止向上冒泡)

 

 

 

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoqiang_0719

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值