Skip to content

设备和触摸事件

设备事件

orientationchange

  • ios 设备上适用

  • 判断设备是处于垂直模式还是水平模式

  • window 上暴露了 orientation 属性。0 表示垂直模式,90 表示左转水平模式,-90 表示右转水平模式

  • event 没有有用的属性

js
window.addEventListenter('orientationchange', () => console.log(window.orientation))

deviceorientation

  • 获取设备的加速计信息
  • window 上触发
  • event 上有以下属性,反应设备静止时坐标值的变化
属性说明
alpha0~360 范围内的浮点值,表示围绕 z 轴旋转时 y 轴的度数
beta-180~180 范围内的浮点值,表示围绕 x 轴旋转时 z 轴的度数
gemma-90~90 范围内的浮点值,表示围绕 y 轴旋转时 z 轴的度数
absolute布尔值,表示设备是否返回绝对值
compassCalibrated布尔值,表示设备的指南针是否正确校准

devicemotion

  • 提示设备实际上在移动,而不仅仅是改变了朝向
  • event 上有以下属性
属性说明
acceleration对象,包含x、y、z属性,反映不考虑重力情况下各个维度的加速信息
accelerationIncludingGravity对象,包含x、y、z属性,反映各个维度的加速信息,包含z轴自然重力加速度
interval毫秒,距离下次触发 devicemotion 事件的时间
rotationRate对象,包含alpha、beta、gamma属性,表示设备朝向

触摸事件

1. 触摸事件
事件说明
touchstart手指放到屏幕上时触发
touchmove手指在屏幕上滑动时连续触发。调用 preventDefault 可以阻止滚动
touchend手指在屏幕上移开时触发
2. event
  • 鼠标事件公有属性
    • bubblescancelableviewclientXclientYscreenXscreenYdetailaltKeyshiftKeyctrlKeymetaKey
  • 触点属性
    • touchesTouch 对象的数组,表示当前屏幕上的每个触点
    • targetTouchesTouch 对象的数组,表示特定于事件目标的触点
    • changedTouchesTouch 对象的数组,表示自上次用户动作之后变化的触点
3. Touch 对象
  • clientXclientYpageXpageYscreenXscreenY
  • identifier:触点 ID
  • target:触摸事件的时间目标

手势事件

1. 手势事件
事件说明
gesturestart一个手指已经放在屏幕上,再把另一个手指放在屏幕上时触发
gesturechange任何一个手指在屏幕上的位置发生变化时触发
gestureend其中一个手指离开屏幕时触发
2. event
  • 鼠标事件公有属性
    • bubblescancelableviewclientXclientYscreenXscreenYdetailaltKeyshiftKeyctrlKeymetaKey
  • rotation:手指变化旋转的度数。负值表示逆时针旋转,正值表示顺时针旋转
  • scale:两指之间距离变化的程度