【问题标题】:How to react on link remove event in JointJS如何对 JointJS 中的链接删除事件做出反应
【发布时间】:2019-04-30 12:34:19
【问题描述】:

我使用以下代码来控制链接上的删除功能。如果链接匹配特定条件,我如何拦截删除事件并阻止它?

// add a remove button on hovered link
this.paper.on("link:mouseenter", function(linkView) {
  let tools = [new joint.linkTools.Remove({ distance: 20 })];

  linkView.addTools(
    new joint.dia.ToolsView({
      name: "onhover",
      tools: tools
    })
  );
});

// remove button on hovered link
this.paper.on("link:mouseleave", function(linkView) {
  if (!linkView.hasTools("onhover")) return;
  linkView.removeTools();
});

【问题讨论】:

    标签: jointjs


    【解决方案1】:

    使用传递给 linkTools.Remove 构造函数的 action 参数找到了答案。

    // add a remove button on hovered link
    this.paper.on("link:mouseenter", function(linkView) {
      let tools = [
        new joint.linkTools.Remove({
          distance: 20,
          action: function(evt) {
            // do stuff and remove link using
            this.model.remove({ ui: true, tool: this.cid });
          }
        })
      ];
    
      linkView.addTools(
        new joint.dia.ToolsView({
          name: "onhover",
          tools: tools
        })
      );
    });
    

    【讨论】:

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