事件處理
開發(fā)者可以使用bind: + 事件名來(lái)進(jìn)行事件綁定
<view class="view-more" bind:tap="loadMore">
點(diǎn)擊加載更多
</view>
? ?
Page({
loadMore: function () {
console.log('加載更多被點(diǎn)擊');
}
});
? ?
目前支持的事件類型有:
類型 ? ? ? ? ? ? ? ?觸發(fā)條件
touchstart ? ? ?手指觸摸開始 ? ?
touchmove ? ?手指觸摸后進(jìn)行移動(dòng) ? ?
touchend ? ? ? 手指觸摸結(jié)束 ? ?
touchcancel ? 手指觸摸動(dòng)作被打斷,如來(lái)電提醒等 ? ?
tap ? ? ? ? ? ? ? ?手指觸摸后馬上離開動(dòng)作 ? ?
事件對(duì)象
當(dāng)開發(fā)者綁定方法到事件,事件觸發(fā)時(shí),SWAN 會(huì)給觸發(fā)的方法傳遞事件對(duì)象,事件對(duì)象因事件不同而不同,目前基礎(chǔ)的事件對(duì)象結(jié)構(gòu)為:
屬性 ? ? ? ? ? ? ? ? ? ? 類型 ? ? ? ?說(shuō)明
type ? ? ? ? ? ? ? ? ?String ? ? 事件類型 ? ?
currentTarget ? ?Object ? ?事件觸發(fā)的屬性集合 ? ?
dataset
開發(fā)者可以在組件中自定義數(shù)據(jù),并在事件發(fā)生時(shí),由 SWAN 所在事件對(duì)象中,傳遞給綁定函數(shù)。
示例代碼:
<view data-swan="1" bind:tap="viewtap">dataset-test</view>
? ?
Page({
viewtap: function (event) {
console.log('value is:', event.currentTarget.dataset.swan);// 輸出1
}
});
? ?
touches
開發(fā)者在接收到觸摸類事件后,在事件對(duì)象上,可以接收到當(dāng)前停留在屏幕上的觸摸點(diǎn)。
Touch 對(duì)象
屬性 ? ? ? ? ? ? ? ? ? ? ? 類型 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 描述
pageX , pageY ? ?Number ? ?距離文檔左上角的距離,橫向?yàn)?X,縱向?yàn)?Y ? ?
clientX , clientY ? ?Number ? ?距離屏幕視口左上角距離,橫向?yàn)?X,縱向?yàn)?Y ? ?
閱讀本文的人還可以閱讀: