[JS 基础] touchEvent中的changedTouches,targetTouches和touches的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[JS 基础] touchEvent中的changedTouches,targetTouches和touches的区别相关的知识,希望对你有一定的参考价值。

    对于移动端开发中 touchEvent(触摸事件) 中changedTouches,targetTouches和touches的区别往往不容易弄清,故特意查询了

MDN相关资料

1. 其中,对 changedTouches 的解释是

TouchList whose touch points (Touch objects) varies depending on the event type, as follows:

  • For the touchstart event, it is a list of the touch points that became active with the current event.
  • For the touchmove event, it is a list of the touch points that have changed since the last event.
  • For the touchend event, it is a list of the touch points that have been removed from the surface (that is, the set of touch points corresponding to fingers no longer touching the surface).

一个触点对象的列表,取决于事件的类型:

  • 对于 touchstart 事件,它是一个触发当前事件的触点的列表;
  • 对于 touchmove 事件,它是一个从最后一次事件对比,改变的触点的列表;
  • 对于 touchend 事件,它是已经从触摸表面移除的触点的列表(即,这些触点对应的手指不再与触摸表面接触)

2. 对 targetTouches 的解释是

TouchList listing all the Touch objects for touch points that are still in contact with the touch surface and whose touchstart event occurred inside the same target element as the current target element.

一个触发touchstart事件时触点所在元素上的所有没有离开触摸表面的触点的集合

3.对 touches 的解释是

TouchList listing all the Touch objects for touch points that are currently in contact with the touch surface, regardless of whether or not they‘ve changed or what their target element was at touchstart time.

一个不管是否改变或者目标元素是touchstart事件对应的元素的所有没有离开触摸表面触点的列表。

ps:以上中文翻译均为自己理解。

 

因能力有限,文章中有问题的地方,还请各路高手及时指正。

以上是关于[JS 基础] touchEvent中的changedTouches,targetTouches和touches的区别的主要内容,如果未能解决你的问题,请参考以下文章

js中的change事件不起作用

Android——滑动事件冲突解决

获取级联TouchEvent的目标不起作用

完全理解Android TouchEvent事件分发机制

我想使用 Jquery .change(function... (JS, EJS, Mongoose, Express) 显示数组中的特定项目

js学习总结----移动端事件基础及常用的事件库