Fabric.js hasControls = false且hasBorders = false但仍可选择

时间:2013-08-11 18:55:19

标签: fabricjs

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

  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(这不好)。我该如何解决?

1 个答案:

答案 0 :(得分:1)

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

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

会使对象具有不可见的边框和不可见的控件,所以看起来你没有选择它,但你仍然在做,而不是绘制任何控件。

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

当一个对象在选择组中时,无论如何都会绘制其边框,.hasBorders上的任何设置。