触摸事件在移动Safari上拖动时停止触发

当我添加事件监听器来解释触摸事件,如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();
链接地址: http://www.djcxy.com/p/95581.html

上一篇: touch events stop firing when dragging down on mobile Safari

下一篇: events issue( select&drag object )