我正试图使这个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;
});

我尝试过有或没有preventDefaultreturn false,但没有成功。我错过了什么?
您可以使用Chrome for Android重新生成此问题,首先启用webgl(转到chrome://flags并启用webgl)、herehere for a more beautiful view

最佳答案

感觉你的应用程序在TouchEnd上阻塞了。touchMove在地址栏更新why new coordinates后再次工作。窗户有问题吗。位置。更换?
在window.location.replace期间,我在一个使用硬件加速功能的网站上遇到了类似的阻塞。

关于javascript - 并非总是在Android版Chrome上触发touchmove事件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17725667/

10-12 04:39