【发布时间】:2013-01-23 18:35:22
【问题描述】:
我们正在模拟无限列表的滚动,我们希望检测单指滚动或用户开始手势之间的区别。
理论上,对于每个MSPointerDown 和/或使用 event.msPointerId 匹配的手指,IE10 中的手指计数可以减少 +1 和 MSPointerUp 的 -1。
在实践中,至少存在一个错误,即 IE10 会生成 MSPointerDown 事件,但永远不会发送匹配的 MSPointerUp 事件。 (抱歉,我无法创建一个简单的测试用例来展示这一点,但我确实花了很多时间检查 MSPointerUp 事件是否肯定丢失。可能是由于删除了子元素在触摸期间)。
也许使用 MSGesture 事件来查看是否有多个手指按下? (我试过这个没有成功,但也许其他人已经解决了)。
有什么想法吗?
PS:在 webkit 中,等效于在 touchstart 事件中检查 event.touches.length === 1(请注意,您需要一个不明显的技巧才能使其正常工作:document.ontouchstart 必须注册一个事件,然后 event.touches.length 将是对在 other 元素上注册的 touchstart 事件更正)。
【问题讨论】:
标签: javascript touch internet-explorer-10