1

ipadで機能させたいので、コーディング内にontouchを配置する方法を混乱させる問題がありました。以下は、私のコードです。

    <script language="javascript">
function sig1()
{
    if(sig == null)
    {
        xclear('myCanvas');
    }
}

キャンバスの線をクリアするためのコード

<body id="main_body" class="no_guidelines" onload="sig1()" onmouseup="bodyonmouseup">

キャンバスに塗りつぶしスタイルの色と機能を持たせるため

<canvas border=1 id="myCanvas" height=200 width=400 onmousedown="onmousedown()" onmouseup="onmouseup()" onmousemove="onmousemove()">Your browser does not support the application</canvas>

署名のように線を引くことができるキャンバス

var sig = null;
      var ele;
      function bodyonmouseup(e)
{
    var ele;
    ele = document.getElementById('myCanvas');
    ele.isDown = false;
}
function onmousedown(e)
{
    var ele,p;
    if (!e) e = window.event;
    ele = (e.srcElement);
    if (! ele) ele = e.target;
    ele.isDown = true; 
    ele.context = ele.getContext("2d");
    ele.context.lineWidth = 1;
    ele.context.beginPath();   
    ele.context.moveTo(e.offsetX,e.offsetY);
    sig.line = new Array();

    p = new Object();
    p.x = e.offsetX;
    p.y = e.offsetY;

    sig.p = p;
    sig.line[sig.line.length] = p;
    sig.lines[sig.lines.length] = sig.line;
}
function onmousemove(e)
{
    var ele,dx,dy,p;
    if (!e) e = window.event;
    ele = (e.srcElement);
    if (! ele) ele = e.target;
    if (! ele.isDown) return;
    ele.context.lineTo(e.offsetX,e.offsetY);
    ele.context.stroke();
    dx = e.offsetX - sig.p.x;
    dy = e.offsetY - sig.p.y;
    if (dx == 0 && dy == 0) return;
    sig.p = new Object();
    sig.p.x = e.offsetX;
    sig.p.y = e.offsetY;
    sig.line[sig.line.length] = sig.p;
}

だから私はonMouseとontouchの両方を保持したいのか知りたいのですが、キャンバスをipadに描画できるようにontouchをどのように配置しますか?助けてください、それは緊急です

4

1 に答える 1

0

このjsを使用してください。あなたの指はあなたのマウスになります。すべてのタッチイベントをマウスイベントに変換しています。

jquery-ui-touch-punch

于 2012-06-21T07:37:25.943 に答える