微信小程序事件冒泡:
<view bindtap='bindtap2'> <view bindtap='bindtap1'> 事件冒泡 </view> </view> bindtap1:function(event){ console.log(“111111”) }, bindtap2:function(event){ console.log(“2222”) }
如上代码:如果点击了bindtap1事件会执行:bindtap1和bindtap2,也就是会打印出“111111”和“2222”,这个就是冒泡,如何解决呢?
小程序的事件主要有:
touchtab 点击事件
touchstart 开始滑动
touchmove 滑动中
touchend 滑动结束
touchcancel 滑动中断 一般来电或其他弹出框使得滑动中断
小程序中的wxml中绑定事件有两种:以touchtab为例 ,在wxml中必须有bind/catch不然无法实现上述事件
bind的不会阻止事件冒泡(元素最里层到最外层函数执行),catch会阻止冒泡,只是冒泡到当前层结束 。
所以想要阻止事件冒泡那么可以八bindtap事件改成catchtap就ok 了。