Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在mobile Safari-ipad html5上拖动时,触摸事件停止触发_Javascript_Ipad_Html_Ios5_Webkit - Fatal编程技术网

Javascript 在mobile Safari-ipad html5上拖动时,触摸事件停止触发

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"

当我添加事件侦听器以说明触摸事件(如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)


您可以尝试取消事件(移动而不仅仅是使用默认值)


我认为这是不可能的。Mobilesafari会在页面必须滚动时冻结页面,如果没有,那么你将无法使用HTML5进行拖放。你不能在手机上进行拖放,它干扰太多。我认为这是不可能的。Mobilesafari会在页面滚动时冻结页面,如果没有,那么你将无法使用HTML5进行拖放。你不能在手机上进行拖放,这会造成太多干扰
event.cancelBubble = true;
event.returnValue = false;
if (event.stopPropagation) event.stopPropagation();
if (event.preventDefault) event.preventDefault();