我正在 jsPlumb 中为我的连接创建自定义覆盖。
connectorOverlays: [
["Custom", {
create: function(component) {
return connectionNode();
},
location:0.5,
id:"customOverlay"
}]
]
connectionNode() 创建一个 div,其中包含一个选择列表。div 本身应该是可连接的,即我想连接不同连接器的两个标签。
var overlay_div = $(connection.overlays[0].canvas);
jsPlumb.addEndpoint(overlay_div, { anchor:[ "Perimeter", { shape:"Rectangle"}] }, relationEndpoint);
连接器覆盖上的端点定义如下:
var relationEndpoint = {
endpoint:["Dot", {radius:4} ],
anchor: ["BottomRight","TopLeft", "TopRight", "BottomLeft"],
paintStyle:{ fillStyle:"#ff33333", opacity:0.5 },
isSource:true,
connectorStyle:{ strokeStyle:"#ff33333", lineWidth:3 },
connector : "Flowchart",
isTarget:true,
dropOptions : {
tolerance:"touch",
hoverClass:"dropHover",
activeClass:"dragActive"
},
beforeDetach:function(conn) {
return confirm("Detach connection?");
}
};
现在,当我移动通过与自定义覆盖的连接连接的任何原始节点时,端点不会与标签一起移动,而是在创建它的位置保持静态。我可以以某种方式以编程方式触发它的运动,还是我错过了一些配置选项?