1

このアプリはデスクトップでは素晴らしく機能しますが、モバイルでは機能しません。[完了] をクリックすると、アプリは新しいウィンドウを開き、図面の出力を表示しますが、iOS ではすべての座標が 0,0 です... そのため、ポイントがモバイル デバイスに保存されていないように見えます。

問題は、JS の 109 行目から 111 行目または 171 行目から 184 行目にある可能性が高く、以下に示します。

タッチ イベントを処理するセクション:

 $(trackingLayer).on('mousedown touchstart', function(e) {
    e.originalEvent.preventDefault();
    isTracking = true;
    curMouseX = curMouseY = -1;
    if (curTool === "draw") {
        var o = {};
        o.painLevel = curPainLevel;
        o.path = [];
        DrawPoints.push(o);
    }
}).on('mousemove touchmove', function(e) {
    e.originalEvent.preventDefault();
    trackMoveMouse($(this), e);
}).on('mouseup mouseleave touchend', function(e) {
    e.originalEvent.preventDefault();
    isTracking = false;
});

ポイントを記録する領域:

var canvasOffset = ID.offset(); //or $(this).offset(); if you really just want the current element's offset
        curMouseX = e.pageX - canvasOffset.left;
        curMouseY = e.pageY - canvasOffset.top;

        if (curMouseX !== -1 && prevMouseX !== -1) {
            var o = {};
            o.x = curMouseX / curZoom;
            o.y = curMouseY / curZoom;
            DrawPoints[DrawPoints.length - 1].path.push(o);
            //log("Shapes Recorded: " + DrawPoints.length);
            drawImage();
        }

このためにjsfiddleをセットアップしました:http://jsfiddle.net/nbernhard/dSED8/

どんな助けでも大歓迎です。

ありがとう!

4

0 に答える 0