Canvas 删除fabric js中的组/所有选定对象
我正在尝试删除fabric js版本:2.0.0-beta.7中的组。 但它只适用于单个对象,因此如何修复它,以便它可以删除所有选定对象Canvas 删除fabric js中的组/所有选定对象,canvas,fabricjs,fabricjs2,Canvas,Fabricjs,Fabricjs2,我正在尝试删除fabric js版本:2.0.0-beta.7中的组。 但它只适用于单个对象,因此如何修复它,以便它可以删除所有选定对象 $('.delete_object').click(function(){ var activeObject = canvas.getActiveObject(); if (activeObject.type==='activeSelection') { //For Group selection if (confirm('Ar
$('.delete_object').click(function(){
var activeObject = canvas.getActiveObject();
if (activeObject.type==='activeSelection') { //For Group selection
if (confirm('Are you sure?')) {
var objs = [];
activeObject.forEach(function(o) {
objs.push(o);
});
canvas.remove(...objs);
}
}
else if (activeObject) {
if (confirm('Are you sure?')) {
canvas.remove(activeObject);
}
}
});
代码笔:
台阶
1尝试添加2个或更多对象
2.选择其中一些
3现在尝试删除它,它将通过以下错误:TypeError:activeObject.forEach不是一个函数使用并从画布中删除所有当前选定的对象 演示 var canvas=newfabric.canvas'canvas1'; $。添加形状。单击函数{ var cur_value=$this.attr'data-rel'; 如果当前值!={ 开关电流值{ 案例“矩形”: var rect=new fabric.rect{ 左:50,, 前50名, 填写:'aaa', 宽度:50, 身高:50, 不透明度:1, 中风:"000",, 冲程宽度:1 }; canvas.addrect; canvas.setActiveObjectrect; 打破 案例“循环”: var circle=新结构。circle{ 左:50,, 前50名, 填写:'aaa', 半径:50, 不透明度:1, 中风:"000",, 冲程宽度:1 }; canvas.addcircle; canvas.setActiveObjectcircle; 打破 } } }; canvas.on'object:scaling',e=>{ var o=e.target; o、 冲程宽度=o.冲程宽度; }; $.add_text.clickfunction{ var add_text=new fabric.IText'Edit Here'{ 左:20,, 前30名, 尺码:18, 可编辑:真 }; canvas.add添加_文本; canvas.setActiveObjectadd_文本; }; $。删除对象。单击函数{ var activeObject=canvas.getActiveObjects; 如果确认“你确定吗?”{ canvas.activeobject; canvas.remove…activeObject; } }; 钮扣{ 最大分辨率:10px; 高度:30px; } div{ 利润率:10px } .delete_对象{ 背景色:红色; 颜色:白色 } 加圈 添加矩形 添加文本 删去
使用获取所有当前选定对象并从画布中删除 演示 var canvas=newfabric.canvas'canvas1'; $。添加形状。单击函数{ var cur_value=$this.attr'data-rel'; 如果当前值!={ 开关电流值{ 案例“矩形”: var rect=new fabric.rect{ 左:50,, 前50名, 填写:'aaa', 宽度:50, 身高:50, 不透明度:1, 中风:"000",, 冲程宽度:1 }; canvas.addrect; canvas.setActiveObjectrect; 打破 案例“循环”: var circle=新结构。circle{ 左:50,, 前50名, 填写:'aaa', 半径:50, 不透明度:1, 中风:"000",, 冲程宽度:1 }; canvas.addcircle; canvas.setActiveObjectcircle; 打破 } } }; canvas.on'object:scaling',e=>{ var o=e.target; o、 冲程宽度=o.冲程宽度; }; $.add_text.clickfunction{ var add_text=new fabric.IText'Edit Here'{ 左:20,, 前30名, 尺码:18, 可编辑:真 }; canvas.add添加_文本; canvas.setActiveObjectadd_文本; }; $。删除对象。单击函数{ var activeObject=canvas.getActiveObjects; 如果确认“你确定吗?”{ canvas.activeobject; canvas.remove…activeObject; } }; 钮扣{ 最大分辨率:10px; 高度:30px; } div{ 利润率:10px } .delete_对象{ 背景色:红色; 颜色:白色 } 加圈 添加矩形 添加文本 删去
您是救世主。@DS9您无需初始化文本对象的行为,它已在文本对象初始化中被调用。如果可以,您是救世主。@DS9您无需初始化文本对象的行为,它已在文本对象初始化中被调用。如果您可以添加一个解释-纯代码块本身不是很有用。请添加一个解释-纯代码块本身不是很有用。
let activeObjects = canvas.getActiveObjects();
if (activeObjects.length) {
if (confirm('Do you want to delete the selected item??')) {
activeObjects.forEach(function (object) {
canvas.remove(object);
});
}
}
else {
alert('Please select the drawing to delete')
}