Javascript 如何从TouchEvent获取触摸对象

Javascript 如何从TouchEvent获取触摸对象,javascript,html,dom,touch,Javascript,Html,Dom,Touch,查看TouchEvent,我看不到任何明显的方法来获取导致该事件的(单)触摸对象。也许这是因为我误解了这些东西是如何工作的。如果以下是真的,对我来说是有意义的: 如果发生同一类型的多个触摸事件,则只调用一次事件处理程序,程序员应使用TouchEvent.changedTouches处理多个事件 不同类型的触摸事件总是分别调用两个不同的处理程序(例如,如果touchstart与touchend同时发生) 我的猜测正确吗?如果是这样的话,那么我的主要问题的答案就是循环切换已更改的触摸屏并分别处理

查看TouchEvent,我看不到任何明显的方法来获取导致该事件的(单)触摸对象。也许这是因为我误解了这些东西是如何工作的。如果以下是真的,对我来说是有意义的:

  • 如果发生同一类型的多个触摸事件,则只调用一次事件处理程序,程序员应使用TouchEvent.changedTouches处理多个事件
  • 不同类型的触摸事件总是分别调用两个不同的处理程序(例如,如果touchstart与touchend同时发生)

我的猜测正确吗?如果是这样的话,那么我的主要问题的答案就是循环切换已更改的触摸屏并分别处理每个触摸屏(除非您有一些特殊的逻辑)。

触发“touchstart”事件时会列出已更改的触摸屏,可以是1个或多个。你的猜测是正确的,你将不得不循环通过改变的触摸,并分别对待他们。查看他们文档的另一部分,其中他们提供了示例:


如果您不以复杂的方式使用触摸事件,您可以尝试使用此FastClick库,它在我尝试从触摸元素获取id时对我很有帮助,它将所有触摸事件转换为单击