我有一个HTML5画布,用户通过点击(或点按)进行交互。
$(function() {
var canvas = $('#annotations');
canvas[0].addEventListener('mousedown', clickCanvas);
canvas[0].addEventListener('touchstart', clickCanvas);
});
function clickCanvas(e) {
markLocation(e);
drawCanvas();
e.preventDefault();
}
这可以按预期工作。但是,在移动设备上,如果点击并拖动,则会在点击开始时点击一下(这是有道理的,因为它已连接到touchstart
)。当您在画布外触摸拖动时,页面不会像通常那样滚动。
拖动时,我希望忽略点按,而整个页面会滚动。
答案 0 :(得分:0)
我能够通过以下方式解决这个问题:
e.preventDefault();
canvas[0].onselectstart = function () { return false; }
以防止在双击画布时选择文本(这是e.preventDefault()
首先做的事情)touchstart
touchend