按ID删除元素(jointJS)

时间:2013-12-11 23:11:26

标签: javascript jointjs

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

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?
});

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

2 个答案:

答案 0 :(得分:7)

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

var selected;

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

onRemoveButtonClick(function() { 
    if (selected) selected.remove(); 
});

答案 1 :(得分:1)

我通过单击元素直接使用cellView arguement实现了元素的删除。

paper.on('cell:pointerclick', function(cellView, evt, x, y) {
    cellView.remove();
});