2017-02-12 1 views
0

В основном я пытаюсь воспроизвести это поведение для блокировки/разблокировки элемента в fabricjs: https://www.dropbox.com/s/undtb1v4kxqcbi8/ScreenFlow-lock.mp4?dl=0Fabricjs: элемент заблокирован, но выбор группы можно

=> Я хочу, чтобы иметь возможность заблокировать элемент, но все еще быть в состоянии кликнуть и перетащить выделение из него, но все еще в состоянии выбрать его (но не перемещать/масштабировать и т. д.).

я могу заблокировать элемент и быть в состоянии начать выбор перетаскивания из него: https://jsfiddle.net/og09g5ex/

var rect = new fabric.Rect({ 
left: 100, 
top: 100, 
fill: 'red', 
width: 150, 
height: 150, 
transparentCorners: false, 
evented:false, 
selectable:false}); 

Но тогда я не могу выбрать, потому что я использую «evented = ложь».

У кого-нибудь есть идеи?

Большое спасибо!

+0

Вы не можете выбрать его, потому что вы использовали selectable: false, удалите его, а затем он позволит вам выбрать объект, но не перемещать/масштабировать. – Ranjana

+0

Спасибо, но это не моя точка. Если это можно выбрать, я не могу перетащить + выбрать. Взгляните на видео за ссылкой на Dropbox. Мое сообщение, вероятно, нечеткое, не смотря на него ;-) – Blobinabottle

ответ

0

Это возможно, но это непросто. Там is a findTarget in the canvas.class.js file, что вам нужно будет изменить, чтобы при щелчке по объекту вы его выбирали, но когда вы нажимаете, перетаскивание его не выбирает. наивная ткань не имеет этого понятия, и изменение этой функции - единственный способ ее получить. Надеюсь, это поможет!

Смежные вопросы