javascript - FabricJS 删除活动对象的问题
问题描述
我可以从我的画布中删除对象,如下所示:
document.addEventListener("keyup", function(event) {
if (event.key === "Delete") {
var currentlySelected = _fabricCanvas.getActiveObject();
if (currentlySelected) {
_fabricCanvas.remove(currentlySelected);
}
}
});
问题是; 我按了两次删除。第一次按下它,角选择点消失,然后如果我重新选择对象并再次按下删除,它将被删除。
删除事件触发了一个“选择:清除”事件,所以我对为什么这样做有点困惑。画布上的所有对象都是“矩形”
如果人们可以让我知道要发布哪些位,我可以发布更多代码,因为代码现在变得很长。
解决方案
您的代码很好,您更大的应用程序中的其他一些问题正在阻止您删除。看这里的snippet,聚焦snippet 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>
推荐阅读
- pyspark - 更改 Livy 在 EMR 集群中使用的 Python 版本
- ffmpeg - ffmpeg 是否因 h.264 RTP 输出而损坏?
- python - How can i control multiple logins(like admin login and normal login) with flask login_required decorator
- android - 如何处理片段中的对话框点击
- android - 如何使用 MVVM 正确处理 RecyclerView 中的恒定数据流?
- assembly - 如何从内存中的数组中读取一个值,然后在 MIPS 中增加计数器?
- node.js - 从 express-handlebars 文件链接到 Javascript 文件
- javascript - 日本动漫js在javascript中发光一个div
- c++ - 具有 2 个错误的回文编程挑战
- python - 定义收敛到 pi 的错误列表