如何获得端点标签在连接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。希望这可以帮助!
答
假设您创建覆盖这样
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) {
});
这对我的作品。希望对你有帮助!
这似乎只回声null-> null –
@NickMitchell创建一个jsFiddle来帮助你更快! – MrNobody