2013-10-13 44 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