5

我注意到可以通过将鼠标悬停在它们上并单击出现的大红色 X 来删除 JointJS 链接。但我想知道是否可以在创建元素后在不知道变量名称的情况下删除它。

onCreateButtonClick(function(){
  var rect = new joint.shapes.basic.Rect({
    position: { x: 100, y: 30 },
    size: { width: 100, height: 30 }
  });
  graph.addCell([rect]);
});

onRemoveButtonClick(function(){
   //removeRectangle here?
});

我的问题是:我可以在第二个函数中删除这个矩形吗?

4

2 回答 2

8

按 ID 删除元素可以简单地按如下方式完成:graph.getCell(cellID).remove(). 在您的onRemoveButonClick()中,您必须以某种方式知道要删除哪个元素。这取决于您的应用程序 UI,但您可以执行以下操作:

var selected;

paper.on('cell:pointerdown', function(cellView) {
    selected = cellView.model;
});

onRemoveButtonClick(function() { 
    if (selected) selected.remove(); 
});
于 2013-12-12T14:59:04.547 回答
1

我通过单击元素来实现元素的删除,直接使用 cellView 争论。

paper.on('cell:pointerclick', function(cellView, evt, x, y) {
    cellView.remove();
});
于 2016-10-20T06:24:42.620 回答