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

问题描述 投票:7回答:3

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

javascript canvas fabricjs
3个回答
8
投票

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

canvas.deactivateAll();
canvas.renderAll();
canvas.forEachObject(function(object){ 
       object.selectable = false; 
});

7
投票

选项中有这样的方式 -

selectable: false

      or 

object.set({selectable:false})

      or


 object.selectable = false;

1
投票

我正在寻找一个不可移动且不可编辑的Fabric Text,我终于找到了一个结合了几个SO的解决方案,希望我可以节省一些时间。

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

我不得不添加“evented”:false。这是一个例子:

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

你可以在这里玩不同的控制选项:http://fabricjs.com/controls-customization

© www.soinside.com 2019 - 2024. All rights reserved.