取消画布上的活动对象

时间:2018-01-05 10:18:04

标签: javascript fabricjs

我使用fabricjs在undo / redo函数上实现图像编辑器,撤消动作时,我将当前对象的visible属性设置为false。但是,如果当前对象是活动对象,则即使它已被隐藏,其控件也将保留。如何取消画布上的当前活动对象?

1 个答案:

答案 0 :(得分:0)

<强> 样本

var canvas = new fabric.Canvas('c');
var rect = new fabric.Rect({
  width: 100,
  height: 100,
  left: 10,
  top: 10,
  fill: 'yellow',
  active:true
});
canvas.add(rect);
canvas.setActiveObject(rect);

function discard(){
 canvas.discardActiveObject();
 canvas.renderAll();
}
<script src="https://rawgit.com/kangax/fabric.js/master/dist/fabric.js"></script>
<button onclick="discard()">Discard</button>
<canvas id="c" width="600" height="600"></canvas>

使用discardActiveObject()取消选择对象。这是demo