Javascript Fabric.js-将对象创建附加到鼠标单击

Javascript Fabric.js-将对象创建附加到鼠标单击,javascript,fabricjs,Javascript,Fabricjs,创建新结构对象时,可以指定其在画布上显示的位置。有没有办法将生成的对象附加到鼠标上,然后单击或触摸该对象 例如,生成画布上显示的圆的方法 var circle = new fabric.Circle({ radius: 20, fill: 'green', left: 100, top: 100 }); 更新对象的位置以匹配鼠标位置和鼠标上的位置非常容易:向上克隆该对象并将其放置在画布上 var circle = new fabric.Circle({ radius: 20, fill

创建新结构对象时,可以指定其在画布上显示的位置。有没有办法将生成的对象附加到鼠标上,然后单击或触摸该对象

例如,生成画布上显示的圆的方法

var circle = new fabric.Circle({
  radius: 20, fill: 'green', left: 100, top: 100
});

更新对象的位置以匹配鼠标位置和鼠标上的位置非常容易:向上克隆该对象并将其放置在画布上

var circle = new fabric.Circle({
  radius: 20, fill: 'green', left: 100, top: 100
});
var canvas=newfabric.canvas'c'; var mousecursor=new fabric.Circle{ 左:0,, 排名:0, 半径:5, 填充:“9f9”, originX:'对', 原文:'底部', } canvas.addmousecursor; canvas.on'mouse:move',functionobj{ mousecursor.top=obj.e.y-mousecursor.radius; mousecursor.left=对象e.x-mousecursor.radius; canvas.renderAll } canvas.on'mouse:out',functionobj{ //将圆圈移出屏幕 mousecursor.top=-100; mousecursor.left=-100; canvas.renderAll } canvas.on'mouse:up',functionobj{ canvas.addmousecursor.clone canvas.renderAll } 帆布{ 边框:1px实心ccc; }
更新对象的位置以匹配鼠标位置和鼠标上的位置非常容易:向上克隆该对象并将其放置在画布上

var circle = new fabric.Circle({
  radius: 20, fill: 'green', left: 100, top: 100
});
var canvas=newfabric.canvas'c'; var mousecursor=new fabric.Circle{ 左:0,, 排名:0, 半径:5, 填充:“9f9”, originX:'对', 原文:'底部', } canvas.addmousecursor; canvas.on'mouse:move',functionobj{ mousecursor.top=obj.e.y-mousecursor.radius; mousecursor.left=对象e.x-mousecursor.radius; canvas.renderAll } canvas.on'mouse:out',functionobj{ //将圆圈移出屏幕 mousecursor.top=-100; mousecursor.left=-100; canvas.renderAll } canvas.on'mouse:up',functionobj{ canvas.addmousecursor.clone canvas.renderAll } 帆布{ 边框:1px实心ccc; } var canvas=newfabric.canvas'c'; var mousecursor=new fabric.Circle{ 左:0,, 排名:0, 半径:50, 填充:“9f9”, originX:'对', 原文:'底部', } canvas.addmousecursor; canvas.on'mouse:move',functionobj{ mousecursor.top=obj.e.y; mousecursor.left=obj.e.x; canvas.renderAll } 帆布{ 边框:1px实心ccc; } var canvas=newfabric.canvas'c'; var mousecursor=new fabric.Circle{ 左:0,, 排名:0, 半径:50, 填充:“9f9”, originX:'对', 原文:'底部', } canvas.addmousecursor; canvas.on'mouse:move',functionobj{ mousecursor.top=obj.e.y; mousecursor.left=obj.e.x; canvas.renderAll } 帆布{ 边框:1px实心ccc; }
@kangax-有想法吗?@kangax-有想法吗?太好了!对不起,我之前忘记接受这个答案了。谢谢!你有没有考虑过画布平移和缩放的例子?太好了!对不起,我之前忘记接受这个答案了。谢谢!你有没有考虑过画布平移和缩放的例子?