2

我试图添加到可拖动但不可选择的画布项目,所以我确实喜欢这个

  var canvas = new fabric.Canvas('root');
  canvas.add(new fabric.Circle({ radius: 30, fill: '#f55', top: 100, left: 100 }));
  canvas.add(new fabric.Circle({ radius: 30, fill: '#5f5', top: 160, left: 100 }));
  canvas.item(0).hasControls = canvas.item(0).hasBorders = false;

现在我无法选择作为组元素 0(这没关系!)但是当我选择还包含第 1 项的组时,也会选择第 0 项(这不好)。我该如何解决?

4

1 回答 1

1

我知道这个问题很老了,但是:

 canvas.item(0).hasControls = canvas.item(0).hasBorders = false;

将使对象具有不可见的边框和不可见的控件,因此看起来您没有选择它,但您仍然在做并且没有绘制任何控件。

无法使对象不可选择但可拖动。如果无法选择它(设置.selectable=false),则无法拖动它。

当一个对象在选择组中时,它的边框无论如何都会被绘制,无论设置是 on .hasBorders

于 2016-01-27T08:50:27.780 回答