Javascript 从Dragable获取曲面

Javascript 从Dragable获取曲面,javascript,famo.us,Javascript,Famo.us,伙计们,帮帮我。我有以下代码: var image = new ImageSurface({ size: [300, 300], properties: { border: '4px solid white' } }); image.setContent('/img/' + _.random(1,7) + '.jpg'); var draggable = new Draggable({scale: 1}); image.pipe(draggable);

伙计们,帮帮我。我有以下代码:

var image = new ImageSurface({
    size: [300, 300],
    properties: {
        border: '4px solid white'
    }
});

image.setContent('/img/' + _.random(1,7) + '.jpg');

var draggable = new Draggable({scale: 1});
image.pipe(draggable);

draggable.on('end', function(e) {
    // SURFACE????
});

var stateModifier = new StateModifier();

node.add(stateModifier).add(draggable).add(image);

stateModifier.setTransform(
    Transform.translate(100, 10, 0),
    { duration : 1000, curve: Easing.outElastic }
);

如何从可拖动事件获取曲面对象?事件中的参数就是位置。

首先,我想知道为什么需要从事件中获取曲面。如果每个曲面都有一个可拖动的对象,那么可以使用简单的数据绑定进行操作

例如

如果确实需要从事件中获取曲面,则必须编辑发出事件的代码

就为了最后的事件

从Draggable.js的第129行开始

function _handleEnd() {
    if (!this._active) return;
    this.eventOutput.emit('end', {position : this.getPosition()});
}
可以更改为

function _handleEnd() {
    if (!this._active) return;
    this.eventOutput.emit('end', {position : this.getPosition(), originalEvent:event });
}
现在你可以做

var draggable = new Draggable({scale: 1});

draggable.on('end', function(e) {
    var image = e.originalEvent.origin;
});

祝你好运

谢谢你,约翰。我知道我可以将图像绑定到DragTable,但我正在寻找famo.us api是否有解决方案,以防我将DragTable重新用于许多曲面。是的,它没有直接支持。在这种情况下,编辑源代码没有风险,只要跟踪编辑内容即可。事件对象就在那里,可以很容易地发送。
var draggable = new Draggable({scale: 1});

draggable.on('end', function(e) {
    var image = e.originalEvent.origin;
});