gpt4 book ai didi

javascript - 在移动 Safari 上向下拖动时触摸事件停止触发 - ipad html5

转载 作者:行者123 更新时间:2023-11-28 03:39:50 26 4
gpt4 key购买 nike

当我添加事件监听器以处理触摸事件(例如 touchmove 和 touchstart)时

        document.addEventListener("touchstart", function(event){
event.preventDefault();
document.getElementById("fpsCounter").innerHTML = "touch start";
trace("touch start");
}, false);
document.addEventListener("touchmove", function(event){
event.preventDefault();
var x = event.touches[0].pageX - getCanvasOffset().offsetLeft;
var y = event.touches[0].pageY - getCanvasOffset().offsetTop;

document.getElementById("fpsCounter").innerHTML = "touch touchmove "+x+" "+y;
trace("touch touchmove");
}, false);
document.addEventListener("touchend", function(event){
event.preventDefault();
document.getElementById("fpsCounter").innerHTML = "touch end";
trace("touch touch end");
}, false);
document.addEventListener("touchcancel", function(event){
event.preventDefault();
document.getElementById("fpsCounter").innerHTML = "touch cancel";
trace("touch touch cancel");
}, false);

}

touchMove 工作正常,直到我开始向下移动,因为整个 html 页面开始被 safari 向下滚动。当我释放时,html 页面弹回原来的位置。 html 页面内的任何元素都不会溢出 ipad 的边界。我怎样才能阻止浏览器的拖动 html 页面功能?我尝试了 event.preventDefault() 但没有成功

最佳答案

您可以尝试取消事件(移动而不只是使用 preventDefault)

event.cancelBubble = true;
event.returnValue = false;
if (event.stopPropagation) event.stopPropagation();
if (event.preventDefault) event.preventDefault();

关于javascript - 在移动 Safari 上向下拖动时触摸事件停止触发 - ipad html5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11889231/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com