小程序的冒泡事件
冒泡事件:當一個組件上的事件被觸發后,該事件會向父節點傳遞。
非冒泡事件:當一個組件上的事件被觸發后,該事件不會向父節點傳遞。
像是下面一段代碼
<view class="outer" bindtap='outerFun'>outer <view class='middle' bindtap='middleFun'>middle <view class='inner' bindtap='innerFun'>inner</view></view> </view> //jsouterFun:function(){ console.log("outer"); }, middleFun:function(){ console.log("middle"); }, innerFun:function(){ console.log("inner"); },當我點擊inner的時候,會依次打印出:
inner
middle
outer
當我點擊middle時會打印出:
middle
outer
這就是事件的向上冒泡
bind的事件綁定不會阻止事件冒泡
catch的事件綁定會阻止事件冒泡
所以當我的inner view用catch事件綁定的時候,點擊inner時就只會觸發inner的綁定tap方法
例如,當我的頁面要彈出一個廣告且有背景遮罩的時候,點擊廣告圖片會進入廣告詳情頁,點擊遮罩會關閉廣告,這是對于廣告部分的tap事件就需要用catch綁定
總結
- 上一篇: 微信小程序 遇到问题1
- 下一篇: 小程序 data-***自定义