jsPlumb中,把已经绑定好以后的锚点通过deleteEndpoint方法删除以后,同时DOM节点也通过remove()删除以后,再次创建DOM节点和锚点以后,锚点和节点始终绑定不上,如何解决
时间: 2024-04-21 16:23:05 浏览: 230
关于动态生成dom绑定事件失效的原因及解决方法
如果在使用 jsPlumb 删除锚点 (`deleteEndpoint`) 和相关的 DOM 节点 (`remove`) 后再重新创建节点和锚点,但无法成功绑定,可能是因为 jsPlumb 仍然保留了之前绑定的一些状态信息,导致新创建的节点和锚点无法正确绑定。
为了解决这个问题,你可以尝试在删除节点和锚点后,使用 `jsPlumb.reset()` 方法来重置 jsPlumb 的状态。这个方法将会清除所有之前的绑定和状态信息,使得你能够重新创建节点和锚点并正确地进行绑定。
下面是一个示例代码:
```javascript
// 删除节点和锚点
jsPlumb.deleteEndpoint(endpoint);
node.remove();
// 重置 jsPlumb 状态
jsPlumb.reset();
// 创建新的节点和锚点
var newNode = $('<div>').attr('id', 'newNode');
$('#container').append(newNode);
jsPlumb.makeTarget(newNode, targetOptions);
jsPlumb.makeSource(newNode, sourceOptions);
```
通过调用 `jsPlumb.reset()` 方法,你可以确保之前的状态被正确清除,从而能够重新创建并正确绑定新的节点和锚点。
阅读全文