无法选择使用fabricjs添加的对象

时间:2015-02-20 11:46:13

标签: javascript canvas fabricjs

我使用fabricjs将对象添加到画布中。添加该对象后,我使用{j}的obj.center()方法将其置于中心位置。该对象被添加到中心。然后我使用renderAll()方法。

var canvas = new fabric.Canvas('c');

var rect = new fabric.Rect({
    fill: 'red',
    width: 20,
    height: 20,
    angle: 45
});

canvas.add(rect);
rect.center();
canvas.renderAll();

但是有一个问题。如果我将鼠标悬停在该对象上,我将无法获得悬停光标(手持光标)。但是,如果我将光标移动到画布的(0,0)坐标位置,则会显示悬停光标,然后单击该点将选择添加的对象。

我错了什么?

1 个答案:

答案 0 :(得分:0)

var canvas = new fabric.Canvas('canvas');

var rect = new fabric.Rect({
    fill: 'red',
    width: 20,
    height: 20,
    angle: 45
});

canvas.add(rect);
rect.center();
rect.setCoords();
canvas.renderAll();
canvas {
  border: 2px dotted green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/1.7.16/fabric.min.js" charset="utf-8"></script>
<canvas id="canvas" width="400" height="400"></canvas>

使用center()后,您需要致电setCoords()