如何查询父div中包含的连接/端点

时间:2014-07-21 17:48:13

标签: jsplumb

有没有办法查询jsPlumb以检索“source”和“target”属性具有相同父div的所有连接?目前,我手动设置每个连接的“范围”属性(基于父div的id),这是有效的。然而,感觉hacky。我觉得好像应该有一些方法来查询jsPlumb,如

jsPlumb.select('#parentDiv').each(function(connection) {
    /*do stuff here*/
});

3 个答案:

答案 0 :(得分:0)

在创建连接时,您可以单独检查和存储这些连接,而不是稍后检查它们。代码:

jsPlumb.bind("jsPlumbConnection", function(ci) {
    var s=ci.sourceId,c=ci.targetId;
    var f=$('#'+s).parent().attr("id");
    var g=$('#'+c).parent().attr("id");
    if( f===g ){
        // store ci.connection
        console.log("Connection:"+ ci.connection +" has same parent div");
    }
});

答案 1 :(得分:0)

这是你可以将它限制在一个特定的父div和amp;使用'实例'对于每个jsPlumb操作:

jsPlumb.ready(function () {
    instance = jsPlumb.getInstance({
    DragOptions: { cursor: 'pointer', zIndex: 2000 },
    ConnectionOverlays: [
        ["Arrow", { width: 12, length: 15, location: -3 }],
    ],
    Container: "parent" //put parent div id here
  });
});

答案 2 :(得分:0)

function containsCycle() {

    var return_content = false;
    $('.item:visible').each(function() {
        $(this).addClass("white");
    });

    $('.item:visible').each(function() {
        $vertex = $(this);
        if ($vertex.hasClass("white")) {
            if (visit($vertex)) {
                return_content = true;
                return false;
            }
        }
    });
    return return_content;
}

function visit(vertex) {
    vertex.removeClass("white")
        .addClass("grey");
    var vertex_connections = jsPlumb
        .getConnections({
            source: vertex
        });

    for (var i = 0; i < vertex_connections.length; i++) {
        if ($('#' + vertex_connections[i].targetId)
            .hasClass("grey")) {
            return true;
        } else if ($('#' + vertex_connections[i].targetId)
            .hasClass("white")) {
            if (visit($('#' + vertex_connections[i].targetId))) {
                return true;
            }
        }
    }
    vertex.removeClass("grey")
        .addClass("black");
    return false;
}

使用此代码查找循环连接