如何获得端点标签在连接JSPLUMB?

问题描述:

enter image description here如何获得端点标签在连接JSPLUMB?

在附图中,div 1和div 3连接在一起。连接上有标签1-3(表示div 1和div 3已连接)。现在,当我点击一个按钮时,我想要显示端点标签名称,例如连接的“拖放”而不是div id“1-3”。

在nut shell中,在getAllConnections()期间,如何获取连接中的端点标签名称?

正如你所提到的,首先获得所有的连接,并为每个连接得到它们的端点,并从中你可以得到它的标签:

var con=jsPlumb.getAllConnections(); 
for(var i=0;i<con.length;i++){ 
    var e=con[i].endpoints; // Array of [source, target] Endpoint objects. 
    var label1=e[0].getLabel(); 
    var label2=e[1].getLabel(); 
    console.log(label1+"->"+label2); 
} 

更多Refre酒店API DOC。希望这可以帮助!

+0

这似乎只回声null-> null –

+0

@NickMitchell创建一个jsFiddle来帮助你更快! – MrNobody

假设您创建覆盖这样

endpoint.overlays = [["Label", { 
      location: [0.5, 2.5], 
      label: "1-3", 
      id: 'myLabel' 
     }]]; 

你只是做:

endpoint.getOverlay("myLabel").getLabel() 

假设你已经创建了 “拖”, “落” 的标签作为覆盖如下:

overlays: [ 
    [ "Label", { 
     location: [0.5, 1.5], 
     label: "Drag", 
     visible:true, 
     id: "drag" 
    } ] 
] 

您可以使用connection.endpoints[0]获得连接的源端点。为了得到这个端点,你可以简单地调用connection.endpoints[0].getOverlay("drag").getLabel();的标签值。

您可以通过jsPlumb.getConnections(),如下面的迭代获取连接对象:

$.each(instance.getConnections(), function (index, connection) { 
}); 

这对我的作品。希望对你有帮助!