W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
組件觸發(fā)事件時(shí),邏輯層綁定該事件的處理函數(shù)會(huì)收到一個(gè)事件對(duì)象。
BaseEvent 基礎(chǔ)事件對(duì)象屬性列表:
屬性 | 類(lèi)型 | 描述 |
---|---|---|
type | String | 事件類(lèi)型 |
timeStamp | Integer | 事件生成時(shí)的時(shí)間戳 |
target | Object | 觸發(fā)事件的組件的屬性值集合 |
事件的類(lèi)型。
事件生成時(shí)的時(shí)間戳。
dataset
在組件中可以定義數(shù)據(jù),這些數(shù)據(jù)將會(huì)通過(guò)事件傳遞給邏輯層。 以 data-
開(kāi)頭,由連字符 -
連接多個(gè)單詞,所有字母必須小寫(xiě),如 data-element-type
,最終會(huì)在 event.target.dataset
中會(huì)將連字符轉(zhuǎn)成駝峰 elementType
。
示例代碼:
<view data-alpha-beta="1" onTap="bindViewTap"> DataSet Test </view>
Page({
bindViewTap:function(event) {
event.target.dataset.alphaBeta === 1; // - 會(huì)轉(zhuǎn)為駝峰寫(xiě)法
},
});
觸發(fā)事件的源組件對(duì)象,屬性列表如下:
屬性 | 類(lèi)型 | 描述 |
---|---|---|
id | String | 事件源組件的 id |
tagName | String | 當(dāng)前組件的類(lèi)型 |
dataset | Object | 綁定事件的組件上由 data- 開(kāi)頭的自定義屬性的集合 |
targetDataset | Object | 實(shí)際觸發(fā)事件的組件上由 data- 開(kāi)頭的自定義屬性的集合 |
CustomEvent 自定義事件對(duì)象(繼承自 BaseEvent),屬性列表如下:
屬性 | 類(lèi)型 | 描述 |
---|---|---|
detail | Object | 額外的信息 |
自定義事件所攜帶的數(shù)據(jù)。表單組件事件會(huì)攜帶用戶(hù)的輸入信息,如 switch 組件 onChange 觸發(fā)時(shí)可通過(guò) event.detail.value
獲取用戶(hù)選擇的狀態(tài)值,媒體的錯(cuò)誤事件會(huì)攜帶錯(cuò)誤信息,更多信息請(qǐng)參見(jiàn)各組件文檔事件說(shuō)明。
TouchEvent 觸摸事件對(duì)象(繼承自 BaseEvent),屬性列表:
屬性 | 類(lèi)型 | 描述 |
---|---|---|
touches | Array | 當(dāng)前停留在屏幕中的觸摸點(diǎn)信息的數(shù)組 |
changedTouches | Array | 當(dāng)前變化的觸摸點(diǎn)信息的數(shù)組 |
touches 是一個(gè)數(shù)組,每個(gè)元素為一個(gè) Touch 對(duì)象( canvas 觸摸事件中攜帶的 touches 是 CanvasTouch 的數(shù)組),表示當(dāng)前停留在屏幕上的觸摸點(diǎn)。
changedTouches 數(shù)據(jù)格式同 touches。 表示有變化的觸摸點(diǎn),如從無(wú)變有(touchstart),位置變化(touchmove),從有變無(wú)(touchend、touchcancel)。
屬性 | 類(lèi)型 | 描述 |
---|---|---|
identifier | Number | 觸摸點(diǎn)的標(biāo)識(shí)符 |
pageX, pageY | Number | 距離文檔左上角的距離,左上角為原點(diǎn) ,橫向?yàn)?nbsp;X 軸,縱向?yàn)?nbsp;Y 軸 |
clientX, clientY | Number | 距離頁(yè)面可顯示的區(qū)域(屏幕除去導(dǎo)航條)的距離,左上角為原點(diǎn),橫向?yàn)?nbsp;X 軸,縱向?yàn)?nbsp;Y 軸 |
屬性 | 類(lèi)型 | 描述 |
---|---|---|
identifier | Number | 觸摸點(diǎn)的標(biāo)識(shí)符 |
x, y | Number | 距離 Canvas 左上角的距離,Canvas 的左上角為原點(diǎn) ,橫向?yàn)?nbsp;X 軸,縱向?yàn)?nbsp;Y 軸 |
如 touchmove
事件,當(dāng)用戶(hù)觸摸下例的組件。
<view class="move-view" onTouchMove="touchMoveHandle">
</view>
頁(yè)面中響應(yīng)事件的處理函數(shù) touchMoveHandle 會(huì)被調(diào)用,TouchEvent 觸摸事件對(duì)象將作為參數(shù)傳入。
Page({
touchMoveHandle(e){
console.log(e)
}
});
下面是打印的 TouchEvent 對(duì)象的信息:
{
"type": "touchMove",
"timeStamp": 1562241425847,
"target": {
"targetDataset": {},
"tagName": "view",
"dataset": {},
"offsetLeft": 0,
"offsetTop": 0
},
"currentTarget": {
"tagName": "view",
"dataset": {},
"offsetLeft": 0,
"offsetTop": 0
},
"touches": [
{
"clientX": 49.69140625,
"clientY": 54.1640625,
"identifier": 0,
"pageX": 49.69140625,
"pageY": 54.1640625
}
],
"changedTouches": [
{
"clientX": 49.69140625,
"clientY": 54.1640625,
"identifier": 0,
"pageX": 49.69140625,
"pageY": 54.1640625
}
]
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: