小程序点击事件

<view bindtap='handout'>
   outer
   <view bindtap='handmiddle'>
     middle
     <view bindtap='handinner'>inner</view>
   </view>
 </view>



handout: function () {

  console.log("out");

},

handmiddle: function () {

  console.log("middle");

},

handinner: function () {

  console.log("inner");

}

 点击inner三个事件都执行, 点击middlek执行handmiddle和handout, 点击out只执行handout

阻止事件冒泡行为: 将bindtap改为catchtap就行了, 只会触发自身的点击事件

简单的理解就是    点击3   而3肯定包含在2中  同时2包含在1中   所以点击inner肯定会 去执行  middle    outer事件

反过来想  你点击1  而1的位置并不在2中   同样也不再3中  所以点击outer未必执行 middle 和 inner 时间 

感觉有点中学学的 充分不必要条件和必要不充分条件相似

 

想要   分别执行就要将bindtap改成catchtap,  它只会触发自身的点击事件    阻止事件向上传递

 

结论  bindtap不能阻止事件冒泡

         catchtap能阻止事件冒泡

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值