我可以从画布中删除对象,如下所示:
document.addEventListener("keyup", function(event) {
if (event.key === "Delete") {
var currentlySelected = _fabricCanvas.getActiveObject();
if (currentlySelected) {
_fabricCanvas.remove(currentlySelected);
}
}
});
问题是;我有两次按删除。第一次按下它时,角点选择点消失,然后如果我重新选择对象并再次按删除,它将被删除。
删除事件触发'选择:清除'事件,所以我有点困惑为什么这样做。画布上的所有对象都是'Rect''
我可以发布更多代码,如果人们可以让我知道要发布哪些位,因为代码现在已经很长了。
你的代码很好,你的大应用程序中的一些其他问题阻止你删除。看一下这里的片段,在关注片段iframe后,尝试按退格键,对象将被删除。
document.addEventListener("keyup", function(event) {
if (event.key === "Backspace") {
var currentlySelected = _fabricCanvas.getActiveObject();
if (currentlySelected) {
_fabricCanvas.remove(currentlySelected);
}
}
});
var _fabricCanvas = new fabric.Canvas('c');
var rect = new fabric.Rect({ width: 100, height: 100 })
_fabricCanvas.add(rect);
_fabricCanvas.setActiveObject(rect);
<script src="https://cdnjs.cloudflare.com/ajax/libs/fabric.js/2.3.6/fabric.min.js"></script>
<canvas width=400 height=400 id="c" ></canvas>