0

coffeescript で記述された framer.js で、ドラッグ可能なリスト アイテムを含むリストを作成しました。

配列 "Layers" には、単一のリスト項目が含まれています。

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, draggable, layer) ->
    print layer

それを操作するには、イベント関数にレイヤー要素が必要です。間違いはどこですか?

4

1 に答える 1

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
于 2016-11-15T14:11:30.140 に答える