在Javascript中检索元素的连接信息
问题描述:
我试图按照以下方式获取已放置在画布上的jsPlumb元素的连接信息。但是,它提到源ID和目标ID是未定义的。在Javascript中检索元素的连接信息
JS功能
function getConnectionDetails(element)
{
var s,t;
var elemId = element.id;
elemId = elemId.charAt(0);
var inConId = elemId + "-in";
alert("element: "+elemId+"\nConnection in source details: "+ inConId);
var outConId = elemId + "-out";
jsPlumb.bind("jsPlumbConnection", function(element) {
s=inConId.sourceId;
t=inConId.targetId;
});
alert("Source ID of connection: "+ s+ "\nTarget ID of connection: "+t);
}
“elemId”获取连接器ID和应该找回连接到它的连接。在这种情况下,一个连接器将只有一个其他连接。
'inConId'将保留左侧锚点/连接器的ID,'outConId'将保留右侧锚点/连接器的ID,并且需要确定其他元素的哪些连接器是这2个(inCon & outCon )连接到。
答
明白了。
function getConnectionDetails(element)
{
var clickedId = element.id;
clickedId = clickedId.charAt(0);
var from = clickedId+"-out";
var from1 = clickedId;
clickedId = clickedId+"-in";
var con=jsPlumb.getAllConnections();
var list=[];
for(var i=0;i<con.length;i++)
{
if(con[i].targetId==clickedId)
{
list[i] = new Array(2);
list[i][0] = con[i].sourceId;
fromStreamId =list[i][0];
list[i][1] = con[i].targetId;
}
if(con[i].sourceId==from || con[i].sourceId==from1)
{
list[i] = new Array(2);
list[i][0] = con[i].sourceId;
list[i][1] = con[i].targetId;
intoStreamId =list[i][1];
}
}
fromStreamId = fromStreamId.charAt(0);
getFromStreamName(fromStreamId);
intoStreamId = intoStreamId.charAt(0);
}