1. 程式人生 > >阻止小程式冒泡的三種方法

阻止小程式冒泡的三種方法

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 會先後呼叫handleTap3和handleTap2(因為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
3.在方法最後加上return false。