如何使画布中的对象无法选择?

Yev*_*gen 8 javascript canvas fabricjs

我想让画布中的所有对象都不可选.我找到了可选择的方法,但我没有找到将它实现到所有对象的方法.

Jit*_*war 8

您可以使用下面的代码使所有元素无法选择

canvas.deactivateAll();
canvas.renderAll();
canvas.forEachObject(function(object){ 
       object.selectable = false; 
});
Run Code Online (Sandbox Code Playgroud)


raf*_*afi 7

选项中有这样的方式 -

selectable: false

      or 

object.set({selectable:false})

      or


 object.selectable = false;
Run Code Online (Sandbox Code Playgroud)


Cur*_*rse 6

我一直在寻找一种无法移动无法编辑的结构文本,最终我找到了一种结合了几种SO的解决方案,希望可以节省一些时间。

在我的情况下,使用“ selectable”:false还不够:文本仍然是可编辑的,光标仍然是“可移动光标”(即使无法选择对象)。

我必须添加“ evented”:false。这是一个例子:

this.canvas.add(new fabric.Text("Hello world !", {
            "selectable": false,
            "evented": false
}));
Run Code Online (Sandbox Code Playgroud)

您可以在此处使用不同的控制选项:http : //fabricjs.com/controls-customization