事件,視圖層到邏輯層的一種通訊方式,或者將用戶的行為返回到邏輯層,當(dāng)我們?cè)诮M件綁定事件之后,當(dāng)我們觸發(fā)事件,就會(huì)執(zhí)行邏輯層綁定的事件,處理回調(diào)函數(shù),當(dāng)頁(yè)面的事件觸發(fā)之后
頁(yè)面上元素一些額外事件,通過(guò)事件對(duì)象傳遞給我們的回調(diào)函數(shù)
綁定事件的實(shí)例:
通過(guò)view標(biāo)簽來(lái)給他綁定了一個(gè)事件,事件名clickme,在index.js中,我們綁定了一個(gè)clickme的回調(diào)函數(shù),在回調(diào)函數(shù)內(nèi),我們打印出了事件所傳入事件對(duì)象的參數(shù)
事件對(duì)象上,各個(gè)屬性的一個(gè)含義;
type:觸發(fā)事件的類型
timestamp:觸發(fā)事件當(dāng)時(shí)的時(shí)間戳
target:觸發(fā)事件的根源組件,包括觸發(fā)事件組件的id,類型,以及dataset自定義屬性的集合
currentTarget:觸發(fā)事件的當(dāng)前組件,觸發(fā)當(dāng)前事件的id,類型,以及dataset自定義屬性的集合
touches:表示我們停留在屏幕上觸摸點(diǎn)的一個(gè)信息;
changedTouches:表示一個(gè)有變化的觸摸點(diǎn)的信息;
detail:表示我們綁定事件所攜帶的數(shù)據(jù),包括x/y到頁(yè)面左上角的距離
小程序的事件模型:
小程序的事件模型分3個(gè)部分:事件捕獲(自上而下)事件處理階段(執(zhí)行),事件冒泡階段(由內(nèi)到外)
currentTarget和target的區(qū)別,
currentTarget:表示當(dāng)前組件,
target:根源組件:
比如,如上圖,最外層綁定了一個(gè)點(diǎn)擊事件,最里面的那層綁定了一個(gè)點(diǎn)擊事件,當(dāng)點(diǎn)擊最里面那個(gè)事件,target代表了最外層的組件,currentTarget代表了最里面那個(gè)組件
小程序的事件
因?yàn)槊芭菔录瞬东@事件,那就只說(shuō)冒泡事件
touchstart:手指按下屏幕的一個(gè)事件
touchmove:手機(jī)按下屏幕移動(dòng)的一個(gè)事件
touchcancel:有來(lái)電提醒或者其他操作打斷的一個(gè)事件
touchend:手指離開屏幕的一個(gè)事件
tap:手指點(diǎn)擊屏幕,從手機(jī)點(diǎn)擊到手指離開小于350ms的
longpress:手機(jī)點(diǎn)擊屏幕,超過(guò)350ms的后的一個(gè)操作(推薦)不能執(zhí)行tap操作
longtap:手機(jī)點(diǎn)擊屏幕,超過(guò)350ms的后的一個(gè)操作,可以執(zhí)行tap操作
transitionend:漸變動(dòng)畫結(jié)束后,執(zhí)行的一個(gè)操作
animationstart:wxss動(dòng)畫開始的一個(gè)事件回調(diào)
animationiteration:wxss動(dòng)畫執(zhí)行,迭代一次的之后的調(diào)用
animationend:wxss動(dòng)畫結(jié)束后的,事件回調(diào)
touchforcechange:有3d touch的ipone設(shè)備下的事件回調(diào)
捕獲事件和冒泡事件的一個(gè)使用;
bind不會(huì)阻止事件冒泡;
capture-catch:可以綁定一個(gè)事件的捕獲
catch:可以阻止事件冒泡或者事件捕獲階段
工作日 8:30-12:00 14:30-18:00
周六及部分節(jié)假日提供值班服務(wù)