Javascript 在mobile Safari-ipad html5上拖动时,触摸事件停止触发
当我添加事件侦听器以说明触摸事件(如touchmove和touchstart)时Javascript 在mobile Safari-ipad html5上拖动时,触摸事件停止触发,javascript,ipad,html,ios5,webkit,Javascript,Ipad,Html,Ios5,Webkit,当我添加事件侦听器以说明触摸事件(如touchmove和touchstart)时 document.addEventListener("touchstart", function(event){ event.preventDefault(); document.getElementById("fpsCounter").innerHTML = "touch start"; trace("touch start"
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)
您可以尝试取消事件(移动而不仅仅是使用默认值)
我认为这是不可能的。Mobilesafari会在页面必须滚动时冻结页面,如果没有,那么你将无法使用HTML5进行拖放。你不能在手机上进行拖放,它干扰太多。我认为这是不可能的。Mobilesafari会在页面滚动时冻结页面,如果没有,那么你将无法使用HTML5进行拖放。你不能在手机上进行拖放,这会造成太多干扰
event.cancelBubble = true;
event.returnValue = false;
if (event.stopPropagation) event.stopPropagation();
if (event.preventDefault) event.preventDefault();