99精品视频在线观看免费,中文字幕欧美视频,亚洲国产成人精品无码aⅤ不卡久久久久,国产亚洲综合区成人国产系列

Menu
小程序資訊
小程序資訊
微信小程序?qū)W習(xí)《二》:事件詳解
時(shí)間:2016-10-17 21:01:00

一、什么是事件?

1.一種用戶的行為

用戶長按某一張圖片,點(diǎn)擊某個(gè)按鈕,這就是用戶的行為,也是事件

2.一種通訊方式

為什么說事件也是一種通訊方式呢?因?yàn)橛脩酎c(diǎn)擊按鈕的時(shí)候,這是發(fā)生在UI層的,我們的UI要把一些信息發(fā)送給我們的邏輯代碼,因此也是一種通訊方式


二、事件的類別

1.點(diǎn)擊事件tap

2.長按事件longtab

3.觸摸事件

(1)touchstart 開始觸摸

(2)touchend 結(jié)束觸摸

(3)touchmove 移動(dòng)觸摸

(4)touchcancel取消觸摸

這里就有個(gè)問題了,結(jié)束觸摸和取消觸摸有什么區(qū)別嗎?

結(jié)束觸摸可以理解為是主動(dòng)的停止的觸摸事件,比如我們正在移動(dòng)一張圖片,移動(dòng)完成后就是結(jié)束觸摸了,然后可能在移動(dòng)的過程中,突然有事件來打斷了觸摸事件,比如電話來了,打斷了你的觸摸事件,這時(shí)候就是取消觸摸了

4.其他的觸摸事件 submit

每個(gè)控件都有自己的事件


三、事件冒泡

了解什么是冒泡事件?什么是非冒泡事件?我們可以通過一個(gè)例子來理解什么是冒泡事件。

1.首先我們先修改下啟動(dòng)界面,啟動(dòng)界面創(chuàng)建三個(gè)view組件,分別給他們對(duì)應(yīng)的樣式和綁定他們的點(diǎn)擊事件,且布局是一層嵌套一層的

2.然后在index.wxss文件中寫下他們對(duì)應(yīng)的樣式

3.在index.js文件中寫對(duì)應(yīng)的點(diǎn)擊事件,在控制臺(tái)輸出對(duì)應(yīng)的log

4.最后我們看下效果,仔細(xì)觀察可以看到,我們點(diǎn)擊界面3的時(shí)候,控制臺(tái)輸出了3行,分別是clickView1,clickView2,clickView3的點(diǎn)擊事件,點(diǎn)擊界面2的時(shí)候,控制臺(tái)輸出了clickView2和clickView1,這就說明了點(diǎn)擊子view的時(shí)候,也會(huì)響應(yīng)父view的事件,這就是冒泡事件了,相反的,點(diǎn)擊子view,父view不會(huì)響應(yīng)點(diǎn)擊事件,這就是非冒泡事件了。

那么冒泡事件有哪些呢?

上面所提到的點(diǎn)擊事件,長按事件,觸摸事件都是冒泡事件,其余的都是非冒泡事件


四、事件的綁定

1.bind

上面的冒泡事件的例子就是使用bind的方式來綁定事件的

2.catch

那么catch綁定事件和bind的綁定事件有什么不同呢?我們通過修改上面的例子來說明,我們把view3的bindtap改為catchtap

然后我們看下運(yùn)行的效果:

可以看到,我們使用catch的綁定事件后,點(diǎn)擊界面3,是沒有觸發(fā)到父view的點(diǎn)擊事件的

總結(jié):使用bind的綁定事件,是可以觸發(fā)冒泡事件的,就是可以觸發(fā)父view的事件 
使用catch是不會(huì)觸發(fā)冒泡事件


Demo的下載地址:Demo2.zip

咨詢
微信掃碼咨詢
電話咨詢
400-888-9358