1:事件冒泡
在微信小程序開發(fā)工具中,新建event文件夾,新建文件,在event.wxml中填寫如下代碼:
<view class="view1" bindtap="view1click" id="view1" data-title="新聞標(biāo)題" data-id="100">
這里是view 1
<view class="view2" bindtap="view2click" id="view2">
這里是view 2
<view class="view3" bindtap="view3click" id="view3">
這里是view 3
</view>
</view>
</view>
在event.wxss中填寫如下代碼:
.view1{
height: 500rpx;
width: 100%;
background-color:beige;
}
.view2{
height: 400rpx;
width: 80%;
background-color: red;
}
.view3{
height: 300rpx;
width: 60%;
background-color:aqua;
}
在event.js中增加如下代碼:
//事件處理函數(shù)
view1click : function(event){
console.log("view1click")
},
view2click : function(){
console.log("view2click")
},
view3click : function(event){
console.log("view3click")
},
編譯并運(yùn)行,然后在模擬器中點(diǎn)擊view3區(qū)域結(jié)果如圖1所示:可以看到,除了view3之外,view2和view1的點(diǎn)擊事件都響應(yīng)了,這就是點(diǎn)擊事件冒泡
圖1
2:阻止事件冒泡
將 <view class="view3" bindtap="view3click" id="view3">改為<view class="view3" catchtap="view3click" id="view3">---即修改為:catchtap
其他代碼不變,編譯運(yùn)行,還是點(diǎn)擊view3區(qū)域,查看日志信息,如圖2所示,事件不再冒泡
圖2
3:事件信息傳入
上述代碼中:view1click : function(event)增加打印傳入的event事件信息代碼如下:編譯運(yùn)行如圖3所示:
view1click : function(event){
console.log("view1click")
console.log(event)
}
圖3
其中dataset中為自定義的屬性,id:100,title: “新聞標(biāo)題”,這個(gè)自定義屬性在<view class="view1" bindtap="view1click" id="view1" data-title="新聞標(biāo)題" data-id="100">設(shè)置了