阻止小程序冒泡

1.直接用方法 : catchtouchmove = "preventD"

< view class= "selector-bj {{isTapSelector ? '' : 'is-focus-selector' }}"
wx:if= "{{selectorBj}}" bindtap= 'tapSeleBj' catchtouchmove= "preventD"></ view >

//防止点击穿透 背景层
preventD: function(){

},


2. 使用 catch 不用bind

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。

如在下边这个例子中,点击 inner view 会先后调用handleTap3handleTap2(因为tap事件会冒泡到 middle view,而 middle view 阻止了 tap 事件冒泡,不再向父节点传递),点击 middle view 会触发handleTap2,点击 outer view 会触发handleTap1

<view id="outer" bindtap="handleTap1">
  outer view
  <view id="middle" catchtap="handleTap2">
    middle view
    <view id="inner" bindtap="handleTap3">
      inner view
    </view>
  </view>
</view>

猜你喜欢

转载自blog.csdn.net/caoyan0829/article/details/79991748