微信小程序事件流原理解析
這篇文章主要介紹了微信小程序事件流原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
一、什么是事件?
事件是視圖層到邏輯層的通訊方式;
事件可以將用戶的行為,反饋到邏輯層進行處理;
事件可以綁定在組件上,觸發(fā)事件后,就會執(zhí)行邏輯層中對應(yīng)的事件處理函數(shù);
事件對象可以攜帶額外信息。
二、事件模型
事件分為事件捕獲階段、事件冒泡階段、事件處理階段
事件對象的屬性:
- type:觸發(fā)事件的類型
- timestamp:觸發(fā)事件當時的時間戳
- target:觸發(fā)事件的根源組件,包括觸發(fā)事件組件的id,類型,以及dataset自定義屬性的集合
- currentTarget:觸發(fā)事件的當前組件,觸發(fā)當前事件的id,類型,以及dataset自定義屬性的集合
- touches:表示我們停留在屏幕上觸摸點的一個信息;
- changedTouches:表示一個有變化的觸摸點的信息;
- detail:表示我們綁定事件所攜帶的數(shù)據(jù),包括x/y到頁面左上角的距離
currentTarget和target的區(qū)別,
currentTarget:表示當前組件,
target:根源組件:
比如,如上圖,最外層綁定了一個點擊事件,最里面的那層綁定了一個點擊事件,當點擊最里面那個事件,target代表了最外層的組件,currentTarget代表了最里面那個組件
三、事件的類型
可捕獲事件
touchstart、tap、touchmove、longpress、touchcancel、longtap、touchend
可冒泡事件
touchstart longtap、touchmove transitionend、touchcancel、animationstart、touchend、animationiteration、tap、animationend、longpress touchforcechan.、
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
webpack實踐之DLLPlugin 和 DLLReferencePlugin的使用教程
這篇文章主要介紹了webpack實踐之DLLPlugin 和 DLLReferencePlugin的使用教程,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-06-06