Fabricjs - 以编程方式选择对象以立即移动/拖动

时间:2014-06-06 08:35:49

标签: javascript javascript-events fabricjs

我能够使用fabricjs以编程方式选择对象。但是,它不像使用鼠标单击选择对象时的行为。在鼠标单击时,对象处于焦点下,例如,可以拖动它。但是,在编程选择上,我不能立即移动一个对象。一个例子jsfiddle:

http://jsfiddle.net/ThzXM/1/

程序化选择:

canvas.setActiveObject(canvas.item(0));

我最终想要达到的目的是:点击一个按钮,一个新的矩形被添加到画布上,用户可以在将它放到画布上之前移动 - 无需额外点击。是否可以以跨浏览器兼容的方式执行此操作? (我知道在某些浏览器中我可以触发鼠标点击事件,但大多数人不允许它。)

由于

1 个答案:

答案 0 :(得分:0)

你必须这样做。别忘了调用setCoords()来更新对象的边界框。

// Set the active element
canvas.setActiveObject(canvas.item(0));
// Set left, o right,or angle... check documentation.
//Don´t forget to call setCoords() after changes.
canvas.item(0).setLeft(80).setCoords(); 
//Then render the canvas
canvas.renderAll()