【发布时间】:2018-06-15 03:21:04
【问题描述】:
我正在使用fabricjs实现撤消/重做功能上的图像编辑器,当撤消一个动作时,我将当前对象的可见属性设置为false。但是如果当前对象是一个活动对象,即使它被隐藏,它的控件也会保留。如何取消画布上当前的活动对象?
【问题讨论】:
标签: javascript fabricjs
我正在使用fabricjs实现撤消/重做功能上的图像编辑器,当撤消一个动作时,我将当前对象的可见属性设置为false。但是如果当前对象是一个活动对象,即使它被隐藏,它的控件也会保留。如何取消画布上当前的活动对象?
【问题讨论】:
标签: javascript fabricjs
演示
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。
【讨论】: