e.touches,e.targetTouches和e.changedTouches的变化

And*_*isu 55 javascript webkit touch

让我们说我正在倾听touchstart,touchmovetouchendbody元素上.

如果我错了,请告诉我,但我认为e.touches是一样的e.targetTouches?如果是这样,e.changedTouches与它们有何不同?

我的意思是,只要在一个特定时刻触摸一下,我就会取出touchevent并解析它.根据我的经验,所有三个触摸变量都是相同的.

我必须将解析后的数据发送到服务器,发送三次完全相同的字符串是非常多余的,是不是有任何方式发送它们一次并以编程方式重现服务器上的touchevent?

And*_*isu 185

我们有以下列表:

  • touches:当前触摸屏幕的每个手指的信息列表
  • targetTouches:与触摸类似,但仅过滤为在同一节点内开始的手指触摸的信息
  • changedTouches:事件中涉及的每个手指的信息列表

为了更好地理解这些列表中可能包含的内容,让我们快速浏览一些示例.它们根据以下规则而有所不同:

  • 当我放下手指时,所有三个列表都将具有相同的信息.这将是changedTouches因为把手指放下是导致事件发生的原因
  • 当我放下第二根手指时,touches会有两个项目,每个手指一个.targetTouches仅当手指与第一根手指放在同一节点时才会有两个项目.changedTouches将获得与第二根手指相关的信息,因为它是导致事件发生的原因
  • 如果我在同一时间放下两根手指,则可以有两个项目changedTouches,每个手指一个
  • 如果我移动我的手指,唯一会改变的列表是changedTouches并且将包含与移动的手指(至少一个)相关的信息.
  • 当我抬起一根手指时,它会被移除touches,targetTouches并且会出现,changedTouches因为这是造成事件的原因
  • 删除我的最后一根手指将离开touchestargetTouches清空,并changedTouches包含最后一根手指的信息

  • 你能澄清节点术语吗? (2认同)
  • 我只是在iOS上尝试过,说实话,但我认为是的. (2认同)