zepto中的多点触摸

  在用zepto中做屏幕的触摸来滑动图片的过程中,获取touchstart中的数据,是用e.touches[0],当时我就奇怪为什么是放在数组里面,而且打印出来的全部都是长度为1的touches数组。

  后面,我想做两只手指来滑动图片的时候,才觉得一条触摸路径对应一个touches数组中的数据。但是在手机端无法console.log()测试。于是我定义了一个变量touchestime,用来记录touches的次数。touchstart的时候就++,touchend的时候就--,然后等于2的时候就alert("XXX");测试证明,的确是一个触摸路径对应touches[]数组里面的一个数据对象。

  但是,后面又有一个现象,就是,我用食指,中指,和无名指依次触摸屏幕到 屏幕上,然后再放开无名指和中指。这个时候,屏幕上只有食指,请问这个时候,touches[]的长度为多少。如果他会清除touchues[1]和touches[2]的数据的话,长度就是为1;我又加了一个标识变量来计算是否会清除touches[1]和touches[2];测试结果,touches[]的的长度并不会因为触摸路径的减少而减少,意思说touches的数据,在屏幕上还有触摸路径的时候是不会清除的。

  但是,在我的中指和无名指离开后,在放一个手指(简称第四只手指)去触摸,发现他们的触摸移动的总距离在,第四只手指移动的的开始,会触摸距离总和会有一个明显的反差;而这个现象是因为,第四个手指的触摸数据覆盖了第二个手指,的数据。(这个没办法准确的测试,不过我想不到其他的解释了)

原文地址:https://www.cnblogs.com/thonus/p/6841907.html