我想讓這個map在觸摸屏上工作(必須啓用WebGL)。touchmove事件並非總是在Chrome瀏覽器上觸發
在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。
我會嘗試禁用地址更新。 – Jazz
禁用URL更新的確可以解決問題!由於我已經使用'replaceState',我必須找到另一種解決方法。 – Jazz
順便說一句,在Chrome桌面上有相同的錯誤。 – Grsmto