0

我在咖啡脚本类构造函数中有这段代码:

@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() 中没有正确定义。

为什么?我不明白怎么了?

4

1 回答 1

1

我终于明白发生了什么:是更好地反映我的问题的代码。

//-- code in jsfiddle --//

拖放回调在被拖放到的对象上调用,该对象不是发生拖动事件的对象。

之前未拖动列表项的对象,因此 @id 未定义。

非常感谢,这是一个愚蠢的错误,但我花了一段时间才明白。

于 2013-10-13T14:59:40.250 回答