Как отключить множественный выбор на fabric.js холст?

#javascript #canvas #fabricjs

#javascript #холст #fabricjs ткань

Вопрос:

В настоящее время я работаю над холстом, созданным с fabric.js .

У меня есть три объекта на холсте:

  1. Во-первых, это нельзя выбрать / изменить / заменить
  2. Во-вторых, это ведет себя так же, как и первый
  3. И третий, который может быть заменен / выбран и т.д.

Моя проблема в том, что когда я выбираю их несколько раз (с помощью мыши), все они становятся способными изменять размер / заменять и т.д.

Мой вопрос таков: как я могу отключить группировку их вместе, чтобы первые два объекта не могли быть выбраны?

Я уже пробовал canvas.selection = false — но эта опция отключает весь холст.

Ответ №1:

Чтобы отключить возможность щелчка и перетаскивания для выбора нескольких объектов, вы можете просто добавить пару ключ: значение в параметры набора данных.Инициализация холста…

let canvas = new fabric.Canvas("some_id_attribute_value",{selection: false});

Конкретное значение ключа — selection:false, а «some_id_attribute_value» — это то, что вы указали в качестве идентификатора элемента canvas (базовый шаг инициализации canvas). У меня тоже была эта проблема, надеюсь, это поможет!

Ответ №2:

Я не знаю, правильно ли я понял ваш вопрос, но у каждого объекта есть selectable свойство.
Может быть, это поможет?

выбирается: Логическое значение
Если установлено значение false , объект не может быть выбран для изменения (с помощью выбора на основе щелчка или выбора на основе группы). Но события по-прежнему разворачиваются вокруг него.

http://fabricjs.com/docs/fabric.Object.html#selectable

Комментарии:

1. Спасибо @spring! Оказывается, я добавлял эту опцию при неправильной конфигурации для первых двух объектов, какой позор. Хорошего дня!