Event 事件对象

基础事件对象属性列表:

属性 类型 描述
type String 事件类型。
timeStamp Integer 事件生成时的时间戳。
target Object 触发事件的组件的属性值集合。

Event.Target

dataset 在组件中可以定义数据,这些数据将会通过事件传递给逻辑层。 以 data- 开头,由连字符 - 连接多个单词,所有字母必须小写,如 data-name,最终会在 event.target.dataset中拿到.

属性 类型 描述
id String 事件源组件的 id。
tagName String 当前组件的类型。
dataset Object 绑定事件的组件上由 data- 开头的自定义属性的集合。
  1. <div data-name="jack" onTap="myTap"></div>
import { Page, Props, Event } from 'waft';

export class Index extends Page {
  constructor(props: Props){
    super(props);
  }
  myTap(e: Event): void{
    const dataset = e.target.dataset;
      const name = dataset.getString("name");
  }
}

CustomEvent 自定义事件对象

CustomEvent 自定义事件对象(继承自 Event),属性列表如下:

属性 类型 描述
detail Object 额外的信息。

detail

自定义事件所携带的数据。表单组件事件会携带用户的输入信息,如 Scroller组件 onScroll 触发时可通过 event.detail 获取用户选择的状态值。

<scroller onScroll="myScroll"></scroller>
import { Page, Props, Event, CustomEvent } from 'waft';


export class Index extends Page {
  constructor(props: Props){
    super(props);
  }
  myScroll(e: Event): void{
    const detail = (e as CustomEvent).detail;
  }
}

TouchEvent 触摸事件对象

TouchEvent 触摸事件对象(继承自 Event),属性列表:

属性 类型 描述
touches Array 当前停留在屏幕中的触摸点信息的数组。
changedTouches Array 当前变化的触摸点信息的数组。

touches 是一个数组,每个元素为一个 Touch 对象,表示当前停留在屏幕上的触摸点。
changedTouches 数据格式同 touches。 表示有变化的触摸点,可枚举的事件有:

  • 从无变有(touchstart)
  • 位置变化(touchmove)
  • 从有变无(touchend)

    TouchPoint 对象

    | 属性 | 类型 | 描述 | | —- | —- | —- | | identifier | Number | 触摸点的标识符。 | | pageX, pageY | Number | 距离文档左上角的距离,左上角为原点 ,横向为 X 轴,纵向为 Y 轴。 | | clientX, clientY | Number | 距离页面可显示的区域(屏幕除去导航条)的距离,左上角为原点,横向为 X 轴,纵向为 Y 轴。 |
<div onTouchStart="myTouchStart" onTouchMove="myTouchMove" onTouchEnd="myTouchEnd"></div>
import { Page, Props, Event, TouchEvent } from 'waft';

export class Index extends Page {
  constructor(props: Props){
    super(props);
  }
  myTouchStart(e: Event): void{
      const changedTouches = (e as TouchEvent).changedTouches;
      const touchPoint = changedTouches[0];
  }
  myTouchMove(e: Event): void{
      const changedTouches = (e as TouchEvent).changedTouches;
      const touchPoint = changedTouches[0];
  }
  myTouchEnd(e: Event): void{
      const changedTouches = (e as TouchEvent).changedTouches;
      const touchPoint = changedTouches[0];
  }
}