1

サーフェスを作成し、その上にいくつかの形状を描画しています。今やっている

dojo.connect(iSurface.getEventSource(), "mousedown", HandleMouseDown);

ハンドラーがターゲット形状を可動にしようとしている間。

HandleMouseDown(event)
{
    foo = new dojox.gfx.Moveable(event.target);
}

ただし、「this.shape.connect は関数ではありません」というメッセージが引き続き表示されます。これは、event.target が gfx シェイプ オブジェクトではなく svg rect であることが原因だと思います。基礎となるsvgオブジェクトの代わりにイベントでgfx形状オブジェクトを取得する方法を見つけるのを手伝ってくれる人はいますか?

ありがとう。

4

1 に答える 1

2

コンテキストを dojo.connect の引数として指定できます。

dojo.connect(iSurface.getEventSource(), 'mousedown', {shapeObj: svgShape}, HandleMouseDown);

または shapeObj オブジェクトがこれに属している場合:

dojo.connect(iSurface.getEventSource(), 'mousedown', this, HandleMouseDown);

イベントハンドラーに this.shapeObj があります。

function HandleMouseDown(e) {
  foo = new dojox.gfx.Moveable(this.shapeObj);
}
于 2011-11-08T13:06:14.610 に答える