主题
设备和触摸事件
设备事件
orientationchange
ios 设备上适用
判断设备是处于垂直模式还是水平模式
在 window 上暴露了 orientation 属性。0 表示垂直模式,90 表示左转水平模式,-90 表示右转水平模式
event 没有有用的属性
js
window.addEventListenter('orientationchange', () => console.log(window.orientation))
deviceorientation
- 获取设备的加速计信息
- 在 window 上触发
- 在 event 上有以下属性,反应设备静止时坐标值的变化
属性 | 说明 |
---|---|
alpha | 0~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
- 鼠标事件公有属性
- bubbles、cancelable、view、clientX、clientY、screenX、screenY、detail、altKey、shiftKey、ctrlKey、metaKey
- 触点属性
- touches:Touch 对象的数组,表示当前屏幕上的每个触点
- targetTouches:Touch 对象的数组,表示特定于事件目标的触点
- changedTouches:Touch 对象的数组,表示自上次用户动作之后变化的触点
3. Touch 对象
- clientX、clientY、pageX、pageY、screenX、screenY
- identifier:触点 ID
- target:触摸事件的时间目标
手势事件
1. 手势事件
事件 | 说明 |
---|---|
gesturestart | 一个手指已经放在屏幕上,再把另一个手指放在屏幕上时触发 |
gesturechange | 任何一个手指在屏幕上的位置发生变化时触发 |
gestureend | 其中一个手指离开屏幕时触发 |
2. event
- 鼠标事件公有属性
- bubbles、cancelable、view、clientX、clientY、screenX、screenY、detail、altKey、shiftKey、ctrlKey、metaKey
- rotation:手指变化旋转的度数。负值表示逆时针旋转,正值表示顺时针旋转
- scale:两指之间距离变化的程度