Touch 事件备忘

过了一次文档,做个备忘。

Touch 接口

每一个单独的触摸点,不可变。

interface Touch {
    readonly attribute long        identifier;
    readonly attribute EventTarget target;
    readonly attribute long        screenX;
    readonly attribute long        screenY;
    readonly attribute long        clientX;
    readonly attribute long        clientY;
    readonly attribute long        pageX;
    readonly attribute long        pageY;
};

  • `clientX` 是相对 `viewport` 的,不包括滚动偏移
  • `screenX` 是相对屏幕的
  • `pageX` 是相对文档的(即相对 `viewport` 的偏移加上滚动偏移)

TouchList 接口

一个 touch 事件中的触摸点,不可变。

interface TouchList {
    readonly attribute unsigned long length;
    gettter Touch item (unsigned long index);
};

TouchEvent 接口

定义了 touchstarttouchendtouchmovetouchcancel 事件,不可变。

有以下属性:

interface TouchEvent : UIEvent {
    readonly attribute TouchList touches;
    readonly attribute TouchList targetTouches;
    readonly attribute TouchList changedTouches;
    readonly attribute boolean   altKey;
    readonly attribute boolean   metaKey;
    readonly attribute boolean   ctrlKey;
    readonly attribute boolean   shiftKey;
};
  • touches : List,所有触摸点。
  • targetTouches : List,聚焦在绑定事件的元素上的所有触摸点。
  • changedTouches : List,与当前事件相关的触摸点。对于 touchstart 事件,所当前所有处于激活状态的点,对于 touchmove 事件来说,是所有有移动的点,对于 touchendtouchcancel 事件来说,是所有离开接触面的点。

1条评论

评论已关闭。