このアプリはデスクトップでは素晴らしく機能しますが、モバイルでは機能しません。[完了] をクリックすると、アプリは新しいウィンドウを開き、図面の出力を表示しますが、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/
どんな助けでも大歓迎です。
ありがとう!