三个.js触摸事件延迟300毫秒

300 ms delay on three.js touch events

本文关键字:延迟 300毫秒 事件 触摸 js 三个      更新时间:2023-09-26

我正在进行一个three.js项目,在该项目中我使用TrackballControls来启用触摸事件。但我发现我的代码工作不正常。我还评估了一些工作示例,如http://threejs.org/examples/canvas_geometry_cube.html一开始发现有300毫秒的小延迟。但这确实影响了我的项目。如何消除300毫秒的延迟?

注意:我在项目中同时使用了单点触摸和多点触摸。

我介绍了快速点击的概念(https://github.com/ftlabs/fastclick),但对我来说,它似乎不支持多点触摸。如果我错了,请纠正我。

我记得听到过一些关于这件事的消息:http://code.google.com/p/chromium/issues/detail?id=133391

根据相关问题,在Chrome for Android中,300毫秒延迟的原因是识别双击缩放手势。随着那里的更改(2012年10月),如果页面无法缩放,则不会实施延迟。因此,至少在这种情况下,您需要设置页面meta viewport选项,使页面适合设备屏幕,而不会缩放。

(免责声明:我自己从未尝试过;我只听说过一次。我不知道这种行为是否出现在当前发布的Android版Chrome中,我也不知道其他移动浏览器,如股票版Android浏览器,是否也会这样做。)

(其他免责声明:我为谷歌工作,但我不在Chrome上工作,我不会在这里代表谷歌回答。)

我终于找到了一种方法。。。我用触摸在场景中拖放一个对象。。。实际问题如下。。。触摸事件的300毫秒延迟被组合在一起形成一个大的延迟。。。为了克服这一点,我给出了一个条件,使触摸移动事件以300ms的延迟进行。。。。即,如果进行了一个事件,则进行的下一个事件将是300ms之后的事件。。。它工作得很好。。。