如何在android 2.3浏览器中检测多点触摸操作的触摸启动事件
最近,我有机会将这个问题作为我项目的一部分进行研究。添加调查结果和解决方法作为此问题的答案。
问题:
在android 2.3浏览器上检测多点触摸操作的触摸启动事件
发现结果:
在支持多点触摸的浏览器中,多点触摸事件对象将包含一个数组"触摸",该数组将包含所有触摸点。但在Android 2.3默认浏览器中,它只包含用于多点触摸操作的单点触摸,并且会连续触发多点触摸启动事件。通过记录事件,我们可以看到只有一个触摸点的连续触摸启动事件被触发,而不是一个触摸启动和多个触摸点。
解决方法:
可以通过将触摸事件存储在阵列中来识别触摸启动事件。每当发生新的事件时,也要检查前一个事件。如果连续的事件是触摸启动,我们可以假设它是多点触摸。
请参阅以下参考资料:
谷歌关于触摸事件问题的讨论:
- https://code.google.com/p/android/issues/detail?id=11909
用于测试浏览器中的多点触摸支持
- http://scripty2.com/demos/touch/touchspector/
- http://www.paulirish.com/demo/multi
- https://rawgit.com/borismus/MagicTouch/master/index.html
- https://cdn.rawgit.com/muhammedbasil/6d49a884f6ca315614be/raw/5aed46a31d46638b15fbb0a34366346e67d0738a/index.html