小程序的冒泡事件
冒泡事件:當(dāng)一個(gè)組件上的事件被觸發(fā)后,該事件會(huì)向父節(jié)點(diǎn)傳遞。
非冒泡事件:當(dāng)一個(gè)組件上的事件被觸發(fā)后,該事件不會(huì)向父節(jié)點(diǎn)傳遞。
像是下面一段代碼
<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"); },當(dāng)我點(diǎn)擊inner的時(shí)候,會(huì)依次打印出:
inner
middle
outer
當(dāng)我點(diǎn)擊middle時(shí)會(huì)打印出:
middle
outer
這就是事件的向上冒泡
bind的事件綁定不會(huì)阻止事件冒泡
catch的事件綁定會(huì)阻止事件冒泡
所以當(dāng)我的inner view用catch事件綁定的時(shí)候,點(diǎn)擊inner時(shí)就只會(huì)觸發(fā)inner的綁定tap方法
例如,當(dāng)我的頁面要彈出一個(gè)廣告且有背景遮罩的時(shí)候,點(diǎn)擊廣告圖片會(huì)進(jìn)入廣告詳情頁,點(diǎn)擊遮罩會(huì)關(guān)閉廣告,這是對(duì)于廣告部分的tap事件就需要用catch綁定
總結(jié)
- 上一篇: 微信小程序 遇到问题1
- 下一篇: 小程序 data-***自定义