2011-11-07 23 views
1

我正在創建一個曲面並在其上繪製一些形狀。現在做一個dojo中的形狀上的事件處理gfx

和在處理程序試圖使目標形狀可移動。

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

不過,我不斷收到「this.shape.connect是不是一個函數」,我認爲這是由於這樣的事實,event.target是SVG RECT不是GFX圖形對象。任何人都可以幫助我找到如何在事件中獲得gfx形狀對象而不是底層svg對象?

謝謝。

回答

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); 
}