TouchEvent
表示触摸事件对象,继承自 Event,用于描述手指在触摸平面(如触摸屏)的状态变化,比如手指移动、点击、长按等。
该事件对象包含一个或多个触摸点,开发者可以通过它了解触摸平面上手指的状态变化。
实例属性
detail
表示第一根手指的触摸点位置。
x: 触摸点在当前LynxView坐标系下的横轴位置。y: 触摸点在当前LynxView坐标系下的竖轴位置。
touches
表示当前停留在触摸平面上的 Touch 对象,每个 Touch 对象描述了对应手指的触摸点信息,格式如下:
changedTouches
表示相比于上次触摸事件,状态发生变化的 Touch 对象,比如从无到有、位置变化、从有到无,changesTouches 的格式与 touches 的格式相同。
TouchEvent 的类型
touchstart
表示手指开始接触触摸平面,target 是包含触摸点且距离用户最近的 element。
touchmove
表示手指在触摸平面上移动,target 始终与 touchstart 的 target 相同。
touchend
表示手指从触摸平面上离开,target 与 touchstart 的 target 相同,已经离开屏幕的触摸点可以在 changedTouches 中找到。
touchcancel
表示触摸事件被系统或 Lynx 外部手势中断,比如系统弹窗、来电,target 与 touchstart 的 target 相同,已经被中断的触摸点可以在 changedTouches 中找到。
tap
表示手指在触摸平面上单击,target 是包含触摸点且距离用户最近的 element,仅第一根手指可以触发。
当手指移动超过一定距离阈值时,或该 element 的事件响应链上有 element 发生了滑动,tap 事件无法触发。
该事件 和 longpress 事件在事件监听上互斥,即前端同时监听两个事件,则两个事件不会同时触发,longpress 优先。
longpress
表示手指在触摸平面上长按,target 是包含触摸点且距离用户最近的 element,仅第一根手指可以触发。当手指移动超过一定阈值时,或长按间隔不足 500 ms,longpress 事件无法触发。
click
表示手指在触摸平面上单击,target 是包含触摸点且距离用户最近且监听了 click 事件的 element,仅第一根手指可以触发。
该事件和 tap 事件稍微有区别,主要在于事件的阻断距离阈值和 target 不同:
tap的target是实际触摸的距离用户最近的节点;而click的target是距离用户最近且监听了click事件的节点。tap的阻断距离阈值是固定的,手指移动距离超过某个值后无法触发;而click的阻断距离阈值取决于target的触摸热区,手指移出触摸热区后无法触发。- 当
target对应的事件响应链上有element发生了滑动,tap或click事件无法触发。
兼容性
LCD tables only load in the browser