Touch对象表示在触控设备上的触摸点。通常是指手指或者触控笔在触屏设备或者触摸板上的操作。
对象属性 Touch.radiusX, Touch.radiusY, 和 Touch.rotationAngle 表示用户触摸操作所作用的区域,即触摸区域。这些属性对于处理类似于手指触摸之类的不精确操作很有帮助。这些属性可以表示出一个尽可能匹配触控区域的椭圆形(例如用户的指尖触控)。
注意: 以下很多属性的值需要依赖硬件设备去获取,例如,如果设备本身不支持侦测压感,那么
force 属性的值将始终是0,对于 radiusX 和 radiusY 来说同样可能有这种情况,如果设备认为触点只是一个点而不是一个面, 它们始终为1。 构造函数
Touch()- 创建一个Touch对象。
属性
以下属性描述了用户的触摸行为
Touch.identifier此 Touch 对象的唯一标识符. 一次触摸动作(我们值的是手指的触摸)在平面上移动的整个过程中, 该标识符不变. 可以根据它来判断跟踪的是否是同一次触摸过程. 只读属性.Touch.screenX- 触点相对于屏幕左边沿的的X坐标. 只读属性.
Touch.screenY- 触点相对于屏幕上边沿的的Y坐标. 只读属性.
Touch.clientX- 触点相对于可见视区(visual viewport)左边沿的的X坐标. 不包括任何滚动偏移. 只读属性.
Touch.clientY- 触点相对于可见视区(visual viewport)上边沿的的Y坐标. 不包括任何滚动偏移. 只读属性.
Touch.pageX- 触点相对于HTML文档左边沿的的X坐标.
当存在水平滚动的偏移时, 这个值包含了水平滚动的偏移. 只读属性. Touch.pageY- 触点相对于HTML文档上边沿的的Y坐标.
当存在水平滚动的偏移时, 这个值包含了垂直滚动的偏移. 只读属性. Touch.radiusX- 能够包围用户和触摸平面的接触面的最小椭圆的水平轴(X轴)半径. 这个值的单位和
screenX 相同.只读属性. Touch.radiusY- 能够包围用户和触摸平面的接触面的最小椭圆的垂直轴(Y轴)半径. 这个值的单位和
screenY 相同.只读属性. Touch.rotationAngle它是这样一个角度值:由radiusX和radiusY描述的正方向的椭圆,需要通过顺时针旋转这个角度值,才能最精确地覆盖住用户和触摸平面的接触面. 只读属性.Touch.force- 手指挤压触摸平面的压力大小, 从0.0(没有压力)到1.0(最大压力)的浮点数. 只读属性.
Touch.target- 当这个触点最开始被跟踪时(在
touchstart事件中), 触点位于的HTML元素. 哪怕在触点移动过程中, 触点的位置已经离开了这个元素的有效交互区域, 或者这个元素已经被从文档中移除. 需要注意的是, 如果这个元素在触摸过程中被移除, 这个事件仍然会指向它, 但是不会再冒泡这个事件到window或document对象. 因此, 如果有元素在触摸过程中可能被移除, 最佳实践是将触摸事件的监听器绑定到这个元素本身, 防止元素被移除后, 无法再从它的上一级元素上侦测到从该元素冒泡的事件. 只读属性.
接触面
Touch.radiusX, Touch.radiusY, 和 Touch.rotationAngle 描述了用户和触摸平面的接触面. 这在面向非精确触摸设备(由手指直接操作的触摸屏)开发时非常有用. 这些值描述了一个尽可能接近实际接触面(例如用户的指尖)的椭圆.
示例
请看 example on the main Touch events article.