微信小程序事件冒泡:
<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 了。