Fabricjs:项目已锁定但可以选择组

Fabricjs : item locked but group selection possible

基本上我正在尝试为 fabricjs 中的 locking/unlocking 项目重现此行为: https://www.dropbox.com/s/undtb1v4kxqcbi8/ScreenFlow-lock.mp4?dl=0

=> 我希望能够锁定一个项目,但仍然能够点击并从中拖动 selection,但仍然能够 select 它(但不能 moving/scaling,等等).

我可以锁定项目并能够从中开始拖动 selection: 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});

但是我不能 select 因为我使用 "evented=false"。

有人有想法吗?

非常感谢!

这是可能的,但并不容易。您需要修改 is a findTarget in the canvas.class.js file 以便当您单击对象时 select 它但是当您单击然后拖动它时不会 select 它。 naively fabric 没有这个概念,修改这个函数是唯一的获取方式。希望对您有所帮助!