chinese-ig
chinese-ig copied to clipboard
关于实现常用手势事件提案的讨论
Hi All,
这个 Issue 抛出一个关于手势的提案,我希望能够在 Web 中文兴趣组内先进行一些讨论,收集意见和建议,最终目标是能够贡献此标准。
需要注意的是这个文档目前还只是一个"提议",还不算是比较完整的提案。
提案的目的是解决 Web 标准下集成常用的手势能力,客户端开发中有各种原生自带的如 Pan、Long Press 、Drag 等在 touch 之上封装的常用的基础手势能力,这使开发者可以更方便地直接使用这些手势能力,去快速开发一些交互更复杂的页面。提案期望在 element 上做进一步的扩展,开发者可以直接在 element 之上绑定监听相关的手势事件,并在回调中抛出相关 event 参数。
增加手势能力
- swipe
- pan
- long press
- Scale
event 扩展
提案期望推进GestureEvent,并在其之上做进一步扩展,以满足手势事件的基本参数能力的透出。
- state: 连续手势的一些状态,down、move、up。
- deltaX: X轴移动距离。
- deltaY:Y轴移动距离。
- pageX: 相对于X轴移动距离。
- pageY: 相对于Y轴移动距离。
- direction: 方向。
- velocityX:X轴移动速度。
- velocityY:Y轴移动速度。
- touches:多点触控判断几指操作等。
- scale: 放大或缩小的比例。
- rotation:角度。
一些补充
- 基于性能考虑,期望在 Web 中直接使用这些手势,而不是通过频繁地传递最终在 JS 层劫持 Touch 事件实现相关手势能力。
- 基于易用性考虑,期望在 Web 中直接提供相关的手势事件,方便开发者直接使用 element 之上封装的手势能力。
- 各个平台以及方案实现的手势能力都有差异性,期望通过统一的标准来使得 Web 平台拥有统一的标准化的手势能力。
我希望讨论的内容
- 提案的必要性以及推进的可行性
- 具体实现哪些增强的手势能力
- event 如何扩展相关参数
- 提案的描述
- 关于实现可行性
- 提案的流程