【问题标题】:How to change the source anchor starting position in JsPlumb?如何更改 JsPlumb 中的源锚点起始位置?
【发布时间】:2018-06-24 05:24:02
【问题描述】:

我正在使用 jsPlumb 开发一个应用程序。目前,如果我创建一个形状,它会将形状放在画布的左上角。如果我从源点连接到目标点,它就可以工作。

现在,我想在我右键单击并从源连接到目标的位置创建形状。我可以在我右键单击的位置创建形状。

但是,如果我从源拖动到目标,则源锚不是从源开始的。相反,它从左上角开始。在下面的屏幕截图中,我想从“项目”拖动到“无状态”形状。

还有一件事是,如果我拖动“项目”形状,端点正确地从源开始。

【问题讨论】:

    标签: jsplumb


    【解决方案1】:

    我已经找到了问题所在。早些时候,代码中的 if 块 (1) 位于代码 (2) 的下方。这就是为什么即使形状移动到新位置,锚的起始位置也没有移动。只要我将 if 块 (1) 移动到 (2) 上方,jsPlumb 就会了解形状的位置以及锚点的起点位置。

    因此,如果要移动形状,则应在将形状位置告知 Jsplumb 之前进行。

        if (!!shape.location) { ------------------------------------> 1)
            domEl.style.left = shape.location.left + 'px';
            domEl.style.top = shape.location.top + 'px';
        }
    
        this.jsPlumbInstance.draggable(domEl, {
            // to contain the shape within the canvas
            // containment: true
        });
    
        this.jsPlumbInstance.makeSource(domEl, { ----------------------2)
            filter: '.cp',
            anchor: ['AutoDefault'],
            connectorStyle: {
                stroke: '#181919',
                strokeWidth: 2,
                outlineStroke: 'transparent',
                outlineWidth: 4
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多