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 没有这个概念,修改这个函数是唯一的获取方式。希望对您有所帮助!
基本上我正在尝试为 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 没有这个概念,修改这个函数是唯一的获取方式。希望对您有所帮助!