【问题标题】:Fabric JS multiple object selection ignores movement isDisabledFabric JS多对象选择忽略移动isDisabled
【发布时间】:2021-07-18 09:13:27
【问题描述】:

我已为我的 Fabric JS 画布上的所有对象设置了以下属性。

lockMovementX: isDisabled,
lockMovementY: isDisabled,
lockScalingX: isDisabled,
lockScalingY: isDisabled,
lockUniScaling: isDisabled,
lockRotation: isDisabled,

但是,当我通过按住 shift 键选择多个对象时,这些对象又可以移动了,但是作为一个组,知道我如何也禁用这种可能性吗?

【问题讨论】:

    标签: javascript reactjs fabricjs


    【解决方案1】:
    canvas.selection = false
    

    这样,您可以禁用组选择,但对象仍然可以选择。

    【讨论】:

    • 嘿,我会试试这个,但最好是它们仍然可以选择,但不能移动。
    • 一定试一试,如果它工作正常,请告诉我。
    • 我试过了,还可以,我还是要开启多选,我就是想禁用它的动作
    • 看看这个小提琴,jsfiddle.net/1whagL79 每当创建一个选择时,它会检查选择中的任何对象是否禁用了移动它会锁定选择的移动。
    【解决方案2】:

    您是否尝试将 selectable 属性设置为 false?这将阻止对象被选中,但事件仍会在它们上触发

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

    可选:布尔值 当设置为false 时,无法选择对象进行修改(使用基于点单击或基于组的选择)。但是事件仍然会触发它。

    【讨论】:

    • 感谢您的回答,但是,我仍然希望我的对象可以选择,因为我想对它们进行一些编辑,而不是移动它们。
    • 您将所有可编辑属性设置为 false 所以我假设您可能不需要选择对象,您能解释一下您要实现的目标,因为您正在设置所有可编辑属性为假,对象选择到底需要什么?
    • 当然,我正在创建自己希望能够应用的编辑功能。 So when a object is selected I still want the bounding box to be displayed.基本上我唯一的功能就是改变物体的颜色。
    • 您可以做的一件事是将画布选择属性设置为 false,但这会阻止用户选择多个对象。
    猜你喜欢
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 2018-08-18
    • 2017-03-04
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多