假设我在touchstart
元素上收听touchmove
,touchend
和body
。
如果我错了,请告诉我,但我认为e.touches
与e.targetTouches
相同?如果是这样,e.changedTouches
与他们的关系如何变化?
我的意思是,只要在一个特定时刻触摸一下,我就会获取touchevent并解析它。根据我的经验,所有三个触摸变量都是相同的。
我必须将解析后的数据发送到服务器,发送三次完全相同的字符串是非常多余的,是不是有任何方式发送它们一次并以编程方式重现服务器上的touchevent?
答案 0 :(得分:179)
我们有以下列表:
touches
:当前触摸屏幕的每个手指的信息列表targetTouches
:与触摸相似,但仅过滤为同一节点内开始的手指触摸信息changedTouches
:事件中涉及的每个手指的信息列表为了更好地理解这些列表中可能包含的内容,让我们快速浏览一些示例。它们根据以下规则而有所不同:
changedTouches
中,因为放下手指是造成事件的原因touches
将有两个项目,每个手指一个。仅当手指与第一根手指放在同一节点时,targetTouches
才有两项。 changedTouches
将获得与第二根手指相关的信息,因为它是造成事件的原因changedTouches
中有两个项目,每个手指一个changedTouches
,并且将包含与移动的手指数量相关的信息(至少一个)。touches
,targetTouches
移除,并会显示在changedTouches
中,因为它是造成事件的原因touches
和targetTouches
为空,changedTouches
将包含最后一根手指的信息