FabricJS有问题删除activeobject

问题描述 投票:1回答:1

我可以从画布中删除对象,如下所示:

document.addEventListener("keyup", function(event) {
       if (event.key === "Delete") {
           var currentlySelected = _fabricCanvas.getActiveObject();
           if (currentlySelected) {
               _fabricCanvas.remove(currentlySelected);
           }
       }
    });

问题是;我有两次按删除。第一次按下它时,角点选择点消失,然后如果我重新选择对象并再次按删除,它将被删除。

删除事件触发'选择:清除'事件,所以我有点困惑为什么这样做。画布上的所有对象都是'Rect''

我可以发布更多代码,如果人们可以让我知道要发布哪些位,因为代码现在已经很长了。

javascript fabricjs
1个回答
0
投票

你的代码很好,你的大应用程序中的一些其他问题阻止你删除。看一下这里的片段,在关注片段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>
© www.soinside.com 2019 - 2024. All rights reserved.