обработка событий на фигурах в Dojo GFX - PullRequest
1 голос
/ 07 ноября 2011

Я создаю поверхность и рисую на ней несколько фигур.Сейчас выполняю

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

и во время работы обработчика пытаюсь сделать целевую форму подвижной.

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

Однако я продолжаю получать сообщение «this.shape.connect не является функцией», я думаюэто связано с тем, что event.target является svg-прямоугольником, а не объектом формы gfx.Может кто-нибудь помочь мне найти, как я могу получить объект формы gfx в событии вместо базового объекта svg?

Спасибо.

1 Ответ

2 голосов
/ 08 ноября 2011

Вы можете предоставить контекст в качестве аргумента dojo.connect:

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

или если объект shapeObj принадлежит this :

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

и иметь.shapeObj в обработчике событий:

function HandleMouseDown(e) {
  foo = new dojox.gfx.Moveable(this.shapeObj);
}
...