我正在尝试创建一个用户可以动态添加块并使用链接连接块的板。 (类似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事件和坐标,但什么也没出来.. 我真的很感激一些帮助
答案 0 :(得分:13)
change:source
和change: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.
}
})