如何禁用选择freedrawing fabricjs

Glu*_*und 4 fabricjs

在FabricJs中使用FreeDrawing绘制内容后,您可以选择绘制的内容并移动它.有没有办法禁用此选择?

lev*_*von 25

如果您的画布上不需要任何交互性,则可以使用StaticCanvas

var canvas = this.__canvas = new fabric.StaticCanvas('c');
Run Code Online (Sandbox Code Playgroud)

或者,如果您只想禁用特定对象的选择,即最后一个笔刷笔触,您可以在每次创建笔划时尝试调用以下代码:

canvas.item(0).selectable = false;
canvas.renderAll();
Run Code Online (Sandbox Code Playgroud)

如果您需要其他对象的交互性,您也可以在画布初始化后立即定义它

fabric.Object.prototype.selectable = false;
Run Code Online (Sandbox Code Playgroud)

所有新对象都是不可选择的,除非您在创建可选对象时另行指定

var text = new fabric.Text('Honey,\nI\'m subtle', {
    fontSize: 250,
    left: 50,
    top: 0,
    selectable: true // make this object selectable
});
canvas.add(text);
Run Code Online (Sandbox Code Playgroud)