2016-11-14 26 views
0

我創建了一個列表,其中包含用coffeescript編寫的framer.js中的可拖動列表項。Framer.js - 拖動事件的「圖層」參數未定義

數組「層」包含單個列表項。

for i in [0..3] 
    layer = new Layer width:listWidth, height:listHeight, y:i*yDistance, clip:false, 
    borderRadius: 4, superLayer:canvas 

    layer.listIndex = i 

    layer.draggable.enabled = true 
    layer.draggable.speedX = 0 
    layer.draggable.speedY = 1 

    Layers.push(layer) 

當我現在請列表項的事件偵聽器的「層」參數爲undefined

layer.on Events.DragMove, (event, draggable, layer) -> 
    print layer 

我需要在事件函數層元素來操作它。錯誤在哪裏?

回答

0

刪除draggable聲明:

layer.on Events.DragMove, (event, layer) -> 
    print layer 

另外,使用this關鍵字:

layer.on Events.DragMove, (event, layer) -> 
    print this 

與您的代碼:

for i in [0..3] 
    layer = new Layer width:listWidth, height:listHeight, y:i*yDistance, clip:false, 
    borderRadius: 4, superLayer:canvas 

    layer.listIndex = i 

    layer.draggable.enabled = true 
    layer.draggable.speedX = 0 
    layer.draggable.speedY = 1 

    Layers.push(layer) 

    layer.on Events.DragMove, (event, layer) -> 
     print layer 
     print this