我正试图使这个map在触摸屏上工作(必须启用webgl)。
在android上使用firefox,效果很好。但对于chrome,最初,如果我触摸屏幕,它会工作,但如果我释放屏幕并再次快速触摸(在释放屏幕后不到1或2秒),则不会触发touchmove
事件。如果我等待足够长的时间,我将正确接收touchmove
事件。
以下是一些相关代码(抱歉,我无法提供完整的源代码):
canvas.on('touchstart', function() {
//init drag
e.preventDefault();
return false;
});
canvas.on('touchmove', function() {
//move the map
e.preventDefault();
return false;
});
canvas.on('touchend', function() {
//stop drag
e.preventDefault();
return false;
});
我尝试过有或没有
preventDefault
或return false
,但没有成功。我错过了什么?您可以使用Chrome for Android重新生成此问题,首先启用webgl(转到
chrome://flags
并启用webgl)、here或here for a more beautiful view。 最佳答案
感觉你的应用程序在TouchEnd上阻塞了。touchMove在地址栏更新why new coordinates后再次工作。窗户有问题吗。位置。更换?
在window.location.replace期间,我在一个使用硬件加速功能的网站上遇到了类似的阻塞。
关于javascript - 并非总是在Android版Chrome上触发touchmove事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17725667/