我很困惑,因为我经常使用jsPlumb。但是,我无法将简单的源端点连接到目标端点。
以下语句的最后一行完成了两点之间的真实连接,不幸的是它引发了一个错误:“无法建立连接-源不存在”。根据错误,没有源端点。因此,使用以下代码检查了源端点是否确实是源端点,以及目标端点是否确实是目标。
不幸的是,我无法提取更多的代码,因为这是一个较大的过程。
let source = $('#' + $.escapeSelector(from));
let target = $('#' + $.escapeSelector(to));
console.log(source);
console.log(target);
console.log("printing source endpoint(s)");
let fromEndPoint = ConnectionSocket.plumb.selectEndpoints({source: from}).each(function (endpoint) {
console.log(endpoint);
console.log('isSource -> ' + endpoint.isSource);
console.log('isTarget -> ' + endpoint.isTarget);
});
console.log("printing target endpoint(s)");
let toEndPoint = ConnectionSocket.plumb.selectEndpoints({target: to}).each(function (endpoint) {
console.log(endpoint);
console.log('isSource -> ' + endpoint.isSource);
console.log('isTarget -> ' + endpoint.isTarget);
});
ConnectionSocket.plumb.connect({
source: fromEndPoint,
target: toEndPoint
});
这将打印出以下内容:
w.fn.init [div#c741f53f-875a-a917-51a5-a3b2d48a2a15.step-teaser.jtk-draggable.jtk-endpoint-anchor]
w.fn.init [div#fa56d1db-1db3-a1ba-2398-9075e5f979a3.step-teaser.jtk-draggable.jtk-endpoint-anchor]
printing source endpoint(s)
b.Endpoint {idPrefix: "_jsplumb_e_", defaultLabelLocation: Array(2), defaultOverlayKeys: Array(2), _listeners: {…}, eventsSuspended: false, …}
isSource -> true
isTarget -> false
printing target endpoint(s)
b.Endpoint {idPrefix: "_jsplumb_e_", defaultLabelLocation: Array(2), defaultOverlayKeys: Array(2), _listeners: {…}, eventsSuspended: false, …}
isSource -> false
isTarget -> true
jsplumb.min.js:2 Cannot establish connection - source does not exist