在Javascript中检索元素的连接信息

时间:2016-07-11 08:16:43

标签: javascript html connection target jsplumb

我正在尝试以下列方式获取已在画布上放置的jsPlumb元素的连接信息。但是,它提到源ID和目标ID未定义。

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) )已连接到。

1 个答案:

答案 0 :(得分:0)

知道了。

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);

    }