我试图添加到可拖动但不可选择的画布项目,所以我确实喜欢这个
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(这不好)。我该如何解决?
答案 0 :(得分:1)
我知道这个问题很老但是:
canvas.item(0).hasControls = canvas.item(0).hasBorders = false;
会使对象具有不可见的边框和不可见的控件,所以看起来你没有选择它,但你仍然在做,而不是绘制任何控件。
无法使对象无法选择但可拖动。
如果您无法选择它(设置.selectable=false
),则无法拖动它。
当一个对象在选择组中时,无论如何都会绘制其边框,.hasBorders
上的任何设置。