2013-10-13 113 views
0

我有這樣的代碼在咖啡腳本類的構造函數:胖箭頭不工作coffescript?

@item.find("li").draggable(start: @startConnection, drag: @updateConnection).droppable(drop: @dropConnection) 

與類的三種方法:

startConnection:(ev,ui) => 
    @currentConnection = new Connection(ui.offset) 

updateConnection:(ev,ui) => 
    @currentConnection.update(ui.offset) 

dropConnection:(ev,ui) => 
    @currentConnection.finish(ui.draggable, ui.offset) 

和我:

Uncaught TypeError: Cannot call method 'finish' of undefined 

當我滴該項目,但沒有更新時:看起來@currentConnection在update()中正確定義,但不在dropConnection()中定義。

爲什麼?我沒有得到什麼錯誤?

+0

你能顯示完整的代碼嗎? – Cyclonecode

+0

是否要將一個列表項目拖放到另一個列表項目上? 'droppable'項目是目標,你拖動'可拖動'的項目。 – hpaulj

+0

我想我明白髮生了什麼:這裏是更好地反映我的問題的代碼:http://jsfiddle.net/QxKb5/2/ –

回答

1

我終於明白髮生了什麼事情:here是更能反映我的問題的代碼。

//-- code in jsfiddle --// 

在被拖放到的對象上調用了下拉回調,該拖動事件不是發生拖動事件的對象。

列表項被刪除的對象之前未被拖動,因此@id未定義。

很多,這是一個愚蠢的錯誤,但我花了一段時間才明白。

+0

很好的接收,謝謝你跟隨這個跟一個jsfiddle,它真的幫助我。 – kross