gpt4 book ai didi

javascript - FabricJS:对象:用户选择多个对象时不会触发移动事件

转载 作者:行者123 更新时间:2023-11-30 12:32:35 26 4
gpt4 key购买 nike

在 FabricJS 中,有一个 object:moving 事件,你可以为其触发一个函数,我已经装配它以保持线与点的连接,就像它们在火柴人演示中一样:http://fabricjs.com/stickman/

在他们的演示中,他们关闭了通过单击并拖动圆点周围的正方形来选择点,然后通过单击并拖动来移动所选对象的功能。就我而言,我希望用户能够选择多个点并同时拖动它们,但现在发生的情况是线条与点断开连接。这个确切的问题在他们的二次曲线示例中得到了说明:http://fabricjs.com/quadratic-curve/ .一次选择两个点并拖动您的选择...它将断开点与线的连接。

有什么方法可以在移动选择时设置事件吗?它似乎动态创建了一个组,但我尝试使用 selection:created 事件来获取该组并再次设置对象:在组中的每个对象上移动事件处理程序,但没有成功。这里有什么想法吗?

最佳答案

您可以采用两种方法。

  1. 为“object:moving”事件添加一个监听器到 Canvas 。这将为任何移动的对象或组触发。canvas1.on('object:moving', function(event) {
    console.log("对象:移动");
    });

  2. 创建选择组后,您可以将移动事件直接添加到该组。

    canvas1.on('selection:created', function(event) {
    canvas1.getActiveGroup().on('移动', function(event) {
    console.log('移动');
    });
    console.log("选择已创建");
    });

这个 fiddle 有两个例子。 http://jsfiddle.net/pxnfbt89/

关于javascript - FabricJS:对象:用户选择多个对象时不会触发移动事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27159041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com