【问题标题】:Get Position of Drag & Drop Element获取拖放元素的位置
【发布时间】:2013-04-28 15:42:20
【问题描述】:

我正在使用以下代码:http://www.html5canvastutorials.com/kineticjs/html5-canvas-drag-and-drop-a-group-with-kineticjs/ 用于拖放。

我的问题是:如何在拖放后获得组的实际位置(x,y)?

【问题讨论】:

    标签: javascript html canvas drag-and-drop kineticjs


    【解决方案1】:

    您可以使用动力学对象的事件 - http://www.html5canvastutorials.com/kineticjs/html5-canvas-path-mouseover/ 在你的情况下 - 'dragend'。

    group.on('dragend',function(){
        console.log(group.getPosition());
    });
    

    示例:http://jsfiddle.net/lavrton/xEsDZ/

    【讨论】:

    • 我原以为这也可以。但实际上,getPosition().x 会为组拖动产生不一致和不可靠的信息。 group.getX() 和 group.getAbsolutePosition().x 的类似问题 :(
    • 你的意思是“不一致和不可靠”?我在我的团体项目中使用它,一切正常。
    • 检查你的小提琴的这个分支,它在每个拖动后显示 group.getPosition().x:jsfiddle.net/m1erickson/xEsDZ/3 据我所知,它既不一致又不可靠。一如既往,我想学习,所以如果你有一些魔法,请教我! :)
    • 是的。这里有点神奇。 getPosition 将位置相对于父级返回。在您的案例组中,是矩形的父级。所以.. 当你创建组时,它有坐标 {x : 0, y : 0} (默认值)。矩形有坐标 {x:50, y:50},但这是组内的坐标,而不是层内的坐标。你必须这样做。将 {x:0,y:0} 设置为 rect 并将 {x:50,y:50} 设置为分组。
    • 尝试提醒矩形坐标。拖动后没有变化。正如我所说,矩形不是在组内移动,而是组在层内移动。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多