0

クリックしてドラッグして長方形を作成するときに、Kineticjs に問題があります。

$('#my-canvas').mousedown(function() {

    // Create rectangle
    // Add rectangle to layer
    // Draw layer
});

// Dragging
$('#my-canvas').mousemove(function() {
    // Update rectangles size/position so that it matches the current mouse position
    // Draw layer
});

次に、マウスを離すと、次のエラーが表示されます。

Uncaught TypeError: Cannot read property '_id' of undefined
Kinetic.Util.addMethods._mouseup
(anonymous function)

マウスを放すときにマウスが長方形上にないことを確認すると、エラーは発生しません。しかし、マウスを使用して長方形をドラッグしているため、マウスの位置は長方形の終了位置になります。

検索しても検索しても結果がありません。

前もって感謝します。

アップデート

これが私の意味を示すフィドルです: http://jsfiddle.net/DfsFL/1/

Chrome では上記のいくつかの段落を投稿したというエラーが表示され、FireFox では「TypeError: this.clickStartShape is undefined」というエラーが表示されます。重要な注意:長方形を作成する場所で「ストローク」と「ストローク幅」を削除すると、問題なく機能します。これはバグですか、それとも何か間違っていますか?

4

1 に答える 1

0

同様の問題に出くわしたので:

これは Kinetic 5 で修正する必要があります。undefinedここでは、それぞれのメソッドに (previously )の明示的なチェックが含まれていclickStartShapeます。

...

if(Kinetic.listenClickTap && clickStartShape && clickStartShape._id === shape._id) {
    shape._fireAndBubble(CLICK, evt);

    if(fireDblClick) {
        shape._fireAndBubble(DBL_CLICK, evt);
    }
}

...

(最小化されていない Kinetic 5.0.1 の 9040 行目から)

于 2014-03-03T10:54:42.743 に答える