我在咖啡脚本类构造函数中有这段代码:
@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 :(得分:1)
我终于明白发生了什么:here是更能反映我的问题的代码。
//-- code in jsfiddle --//
在被删除的对象上调用drop回调,该回调不是发生拖动事件的对象。
之前没有拖动放置列表项的对象,因此未定义@id。
很多,这是一个愚蠢的错误,但我花了一段时间才明白。