點(diǎn)擊事件

2024-01-22 10:45 更新

組件被點(diǎn)擊時觸發(fā)的事件

事件

名稱 支持冒泡 功能描述
onClick(event: (event?: ClickEvent) => void) 點(diǎn)擊動作觸發(fā)該回調(diào),event返回值見ClickEvent對象說明。從API version 9開始,該接口支持在ArkTS卡片中使用。

ClickEvent對象說明

從API version 9開始,該接口支持在ArkTS卡片中使用。

名稱 類型 描述
screenX number 點(diǎn)擊位置相對于應(yīng)用窗口左上角的X坐標(biāo)。
screenY number 點(diǎn)擊位置相對于應(yīng)用窗口左上角的Y坐標(biāo)。
x number 點(diǎn)擊位置相對于被點(diǎn)擊元素左上角的X坐標(biāo)。
y number 點(diǎn)擊位置相對于被點(diǎn)擊元素左上角的Y坐標(biāo)。
timestamp8+ number 事件時間戳。觸發(fā)事件時距離系統(tǒng)啟動的時間間隔,單位納秒。
target8+ EventTarget 觸發(fā)事件的元素對象顯示區(qū)域。
source8+ SourceType 事件輸入設(shè)備。

EventTarget8+對象說明**

名稱 參數(shù)類型 描述
area Area 目標(biāo)元素的區(qū)域信息。

示例

// xxx.ets
@Entry
@Component
struct ClickExample {
  @State text: string = ''


  build() {
    Column() {
      Row({ space: 20 }) {
        Button('Click').width(100).height(40)
          .onClick((event: ClickEvent) => {
            this.text = 'Click Point:' + '\n  screenX:' + event.screenX + '\n  screenY:' + event.screenY
            + '\n  x:' + event.x + '\n  y:' + event.y + '\ntarget:' + '\n  component globalPos:('
            + event.target.area.globalPosition.x + ',' + event.target.area.globalPosition.y + ')\n  width:'
            + event.target.area.width + '\n  height:' + event.target.area.height + '\ntimestamp' + event.timestamp;
          })
        Button('Click').width(200).height(50)
          .onClick((event: ClickEvent) => {
            this.text = 'Click Point:' + '\n  screenX:' + event.screenX + '\n  screenY:' + event.screenY
            + '\n  x:' + event.x + '\n  y:' + event.y + '\ntarget:' + '\n  component globalPos:('
            + event.target.area.globalPosition.x + ',' + event.target.area.globalPosition.y + ')\n  width:'
            + event.target.area.width + '\n  height:' + event.target.area.height + '\ntimestamp' + event.timestamp;
          })
      }.margin(20)


      Text(this.text).margin(15)
    }.width('100%')
  }
}

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號