如何识别所选对象的类型
How to identify the type of a selected object?
我正在使用Fabric.js将文本,图像和形状放置在画布上。我为这三个制作了三个不同的编辑面板。当用户选择文本时,我想显示文本面板。就像图像和形状一样明智。
如何识别所选对象的类型?
canvas.getActiveObject().get('type')
正如SimmiSimmi所说是正确的。您还可以收听事件:
function onObjectSelected(e) {
console.log(e.target.get('type'));
}
canvas.on('object:selected', onObjectSelected);
我使用以下代码解决了这个问题:
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");
}
else
{
}
});
> 尝试isType()
用于获取选定对象的示例函数
function onObjectSelected(o){
//activeObject = canvas.getActiveObject()
activeObject = o.target;
if(activeObject.isType('text')){
//display text logic
}
else if(activeObject.isType('image')){
//display image
}
else if( activeObject.isType('xyz')){
//display shape logic
}
}
canvas.on('object:selected', onObjectSelected);
在fabricjs 3.4及更高版本中,要获取对象类型,只需使用:
var objType = canvas.getActiveObject().type;
在 IText 对象上,上面将返回:i-text
在图像上,它将返回:图像
用法:
调用以下函数,该函数添加额外的检查以确保类型是活动元素的属性。
注意:并非所有元素都具有 type 属性。
canvas.on('object:selected', onObjectSelected);
function onObjectSelected() {
// check if type is a property of active element
var objType = (canvas.getActiveObject().type ? canvas.getActiveObject().type : "");
// your code to process the object
}
相关文章:
- 字符串对象类型或基元类型也是如此
- 如何在dojo中查询对象类型
- 对象类型scrollTo
- 在 Javascript 中创建全局变量时是否需要指定对象类型
- JavaScript:创建新对象类型的方法
- 如何获取对象类型
- FormData()只发送对象类型的多文件
- 获取对象类型
- 依赖对象类型检查Javascript似乎是多余的
- 访问javascript中对象类型的数组成员
- 比较对象类型时是否需要第三个=
- 如何在 Google 闭包编译器中指定对象类型的@param @return
- 窗口对象通过对象类型测试,但 hasOwnProperty 导致错误
- Javascript 空对象类型
- 何时有时将对象类型定义为将实例绑定方法镜像为构造函数上的静态实用程序函数很有用
- 在下拉列表中使用多个对象类型为数据网格提供筛选
- 为什么 String.prototype 中的“this”指的是对象类型,而不是字符串类型
- 自定义对象/类型 Javascript
- 在 Javascript 中获取对象类型的名称
- 两种 JavaScript 对象类型之间的差异