12

我正在尝试创建一个板,用户可以在其中动态添加块并使用链接连接块。(类似这样但动态的)我正在使用 JointJs 框架,直到现在一切都按预期工作,但是当用户连接两个块时我需要显示一些信息。我的问题是连接块时找不到要处理的事件

我查看了这个问题,但在我的示例中,我没有链接实例来附加事件。

在这里你可以看到我的例子

以下是如何将块添加到板上。磁铁:文本属性中的 true是使文本可连接的原因。当链接连接时,我真的需要一些帮助来寻找要处理的事件。

 var rect = new joint.shapes.basic.newRect({
     position: { x: position, y: position },
     size: { width: 100, height: 40 },
     attrs: {
         rect: { 'stroke-width': '1',  stroke: 'black', rx: 3, ry: 3, fill: 'blue'},
         text: { text: 'Block', magnet: true,  }
     }
 });
 graph.addCell(rect);

我还查看了 mouseUp 事件和坐标,但一无所获。我非常感谢一些帮助

4

1 回答 1

18

change:source和事件(作为由单元模型触发的change:target所有其他事件)传播到图表,因此您不需要对链接的引用,您可以执行以下操作:

graph.on('change:source change:target', function(link) {
    if (link.get('source').id && link.get('target').id) {
        // both ends of the link are connected.
    }
})
于 2014-11-12T11:15:10.950 回答