系列文章:
微信小程序 教程之WXSS
微信小程序 教程之引用
微信小程序 教程之事件
微信小程序 教程之模板
微信小程序 教程之列表渲染
微信小程序 教程之條件渲染
微信小程序 教程之數據綁定
微信小程序 教程之WXML
什么是事件
事件的使用方式
在組件中綁定一個事件處理函數。
如bindtap,當用戶點擊該組件的時候會在該頁面對應的Page中找到相應的事件處理函數。
<view id="tapTest" data-hi="MINA" bindtap="tapName"> Click me! </view>
在相應的Page定義中寫上相應的事件處理函數,參數是event。
Page({ tapName: function(event) { console.log(event) }})可以看到log出來的信息大致如下
{"type": "tap","timeStamp": 1252,"target": { "id": "tapTest", "offsetLeft": 0, "offsetTop": 0, "dataset": { "hi": "MINA" }},"currentTarget": { "id": "tapTest", "offsetLeft": 0, "offsetTop": 0, "dataset": { "hi": "MINA" }},"touches": [{ "pageX": 30, "pageY": 12, "clientX": 30, "clientY": 12, "screenX": 112, "screenY": 151}],"detail": { "x": 30, "y": 12}}事件詳解
事件分類
事件分為冒泡事件和非冒泡事件
1.冒泡事件:當一個組件上的事件被觸發后,該事件會向父節點傳遞。
2.非冒泡事件:當一個組件上的事件被觸發后,該事件不會向父節點傳遞。
WXML的冒泡事件列表:
| 類型 | 觸發條件 |
|---|---|
| touchstart | 手指觸摸 |
| touchmove | 手指觸摸后移動 |
| touchcancel | 手指觸摸動作被打斷,如來電提醒,彈窗 |
| touchend | 手指觸摸動作結束 |
| tap | 手指觸摸后離開 |
| longtap | 手指觸摸后,超過350ms再離開 |
注:除上表之外的其他組件自定義事件都是非冒泡事件,如<form/>的submit事件,<input/>的input事件,<scroll-view/>的scroll事件,(詳見各個組件)
事件綁定
事件綁定的寫法同組件的屬性,以key、value的形式。
key以bind或catch開頭,然后跟上事件的類型,如bindtap, catchtouchstart
新聞熱點
疑難解答