JointJs - 事件onConnect Link

时间:2014-11-12 09:33:23

标签: javascript jointjs

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

我查看this question,但在我的示例中,我没有附加事件的链接实例。

Here你可以看到我的例子

以下是块添加到电路板的方式。 text属性中的 magnet: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事件和坐标,但什么也没出来.. 我真的很感激一些帮助

1 个答案:

答案 0 :(得分:13)

change:sourcechange:target事件(由细胞模型触发的所有其他事件)传播到图表,因此您不需要对链接的引用,您可以执行以下操作: / p>

graph.on('change:source change:target', function(link) {
    if (link.get('source').id && link.get('target').id) {
        // both ends of the link are connected.
    }
})