chinese-ig icon indicating copy to clipboard operation
chinese-ig copied to clipboard

关于实现常用手势事件提案的讨论

Open answershuto opened this issue 3 years ago • 4 comments

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 如何扩展相关参数
  • 提案的描述
  • 关于实现可行性
  • 提案的流程

answershuto avatar Feb 05 '21 04:02 answershuto