背景
我使用Fabric.js在Text上放置文本,图像和形状,我为这三个创建了三个不同的编辑面板.当用户选择文本时,我想显示文本面板.像图像和形状一样明智.
问题是如何识别所选对象的类型?
解决方案
通过以下方式获取到类型
let ob_type = canvas.getActiveObject().get('type');
alert('ob_type===' + ob_type);
如果是不同类型,展示不同的编辑器,可以用如下方式控制
if(canvas.getActiveObject().get('type')==="text")
{
//Display text panel
console.log('text panel Displayed');
$("#Image_left_panel").css("display", "none");
$("#shape_left_panel").css("display", "none");
//$("#left_panel").css("display", "block");
}
else if(canvas.getActiveObject().get('type')==="image")
{
//Display Image Panel
console.log('Image Panel Displayed');
$("#Image_left_panel").css("display", "block");
$("#shape_left_panel").css("display", "none");
$("#left_panel").css("display", "none");
}