2

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 ページ全体がサファリによって下にスクロールされ始めるため、下に移動し始めるまで正常に動作します。離すと、html ページが元の位置に戻ります。html ページ内の要素が iPad の境界の外にこぼれることはありません。ブラウザの HTML ページのドラッグ機能を防ぐにはどうすればよいですか? 私は運がない event.preventDefault() を試みます

4

1 に答える 1

0

イベントのキャンセルを試みることができます (preventDefault を使用するだけではありません)。

event.cancelBubble = true;
event.returnValue = false;
if (event.stopPropagation) event.stopPropagation();
if (event.preventDefault) event.preventDefault();
于 2012-08-16T15:49:01.613 に答える