3

キャンバス内に配置された個々の画像に対するジェスチャー制御を実装するために、次のコードを試しましたが、これは個々の要素ではなくキャンバス全体に対してのみ機能します

        var can = document.getElementById("canvas");

        for (var i = 0; i < 10; i++) {
            onjarray[i] = document.getElementById("Img" + i);
            can.appendChild(onjarray[i]);
        }


            can.originalTransform = can.style.transform;
            gObj1 = new MSGesture();
            // Defining gesture object for Pen, mouse and touch
            gObj1.target = can;
            can.gesture = gObj1;
            can.gesture.pointerType = null;

            can.addEventListener("MSPointerDown", onPointerDown, false);
            can.addEventListener("MSGestureTap", onTap, false);
            can.addEventListener("MSGestureHold", onHold, false);
            can.addEventListener("MSGestureChange", onGestureChange, false);
            can.addEventListener("wheel", onMouseWheel, false);
            // Mouse Wheel does not generate onPointerUp
            can.addEventListener("MSGestureEnd", onGestureEnd, false);

キャンバスに配置された個々の要素をジェスチャーで制御する正しい方法を教えてもらえますか

4

1 に答える 1

1

ありえない。要素をキャンバスに「スプレー」すると、その要素に対する制御は永遠に失われます。変更、削除、イベントのキャプチャはできません。それは本質的にもはや要素ではなく、キャンバス上の単なるピクセルです。キャンバスに SVG 図形を重ねて、SVG オブジェクトに適用されるユーザー イベントをキャプチャできます。それはあなたのために働くでしょうか?

于 2013-02-08T16:00:38.647 に答える