2

添加边缘后,我想留addEdgeModevis.js中。有没有办法做到这一点?

我的想法是addEdgeMode在添加边缘后再次启用。添加边缘是否触发了事件?我知道有addEdge操纵的选择。但是,这是在插入之前触发的。

4

1 回答 1

2

您可以在上次添加后立即再次启用 addEdge,如下所示:

manipulation: {
          enabled: false,
          addNode: function (data, callback) {
              // filling in the popup DOM elements
              console.log('add', data);
          },
          editNode: function (data, callback) {
              // filling in the popup DOM elements
              console.log('edit', data);
          },
          addEdge: function (data, callback) {
              console.log('add edge', data);
              if (data.from == data.to) {
                  var r = confirm("Do you want to connect the node to itself?");
                  if (r === true) {
                      callback(data);
                  }
              }
              else {
                  callback(data);
              }
              // after each adding you will be back to addEdge mode
              network.addEdgeMode();
          }

请参阅此代码示例中的最后一行。

network.addEdgeMode();

这将在回调触发后立即启用 addEdge 模式。

在plunker中看到这个例子

于 2018-01-28T06:53:19.373 回答