事件分为冒泡事件和非冒泡事件:
1)冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。
2)非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。
1. 在javaScript中,防止事件冒泡的方式
阻止事件冒泡(在子级加):
1) return false --加在相应方法最后一行
2) e.stopPropagation() --加在相应方法第一行
2. 在vue中,防止事件冒泡的方式
1)@click.stop=" " -- 加修饰符:stop
3. 在微信小程序中,防止事件冒泡的方式
微信小程序中常用冒泡事件有:
tap:手指触摸后马上离开
longpress:手指触摸后,超过350ms再离开,如果指定了事件回调函数并触发了这个事件,tap事件将不被触发
longtap:手指触摸后,超过350ms再离开(推荐使用longpress事件代替)
touchstart:手指触摸动作开始
touchmove:手指触摸后移动
touchcancel:手指触摸动作被打断,如来电提醒,弹窗
touchend:手指触摸动作结束
防止冒泡方式如下:
使用 catch替换bind
<view class='wrap' bindtap='wrapClick'>
<!-- catchtap:可阻止冒泡事件 -->
<text class="click" catchtap='btnClick'>点击</text>
</view>