Javascript 基于未按预期工作的选定/活动对象显示控件
我遇到了一个问题,如果我从我的计算机添加一个图像,单击它,然后单击它旁边的相应控件将不显示。如果我只需单击IText,它就会工作。如果我添加了一个图像,点击它,点击关闭图像,然后点击IText,它就工作了;但当我选择一个图像,然后选择IText时,情况就不一样了 当选择IText时,我将如何显示适用的文本+删除,以及仅当选择图像时才显示删除;因为它不需要文本控件 //从本地添加图像 var canvas=newfabric.canvas'c'; //显示/隐藏控件 canvas.on'object:selected',function e{ document.getElementById'trash'.hidden=false; document.getElementById'forward'。hidden=false; document.getElementById'back'。hidden=false; 如果e.target.type=='i-text'{ document.getElementById'textControls'。hidden=false; } }; canvas.on'before:selection:cleared',函数E{ document.getElementById'trash'。hidden=true; document.getElementById'forward'。hidden=true; document.getElementById'back'。hidden=true; 如果e.target.type=='i-text'{ document.getElementById'textControls'。hidden=true; } }; document.getElementById'file'.addEventListenerchange,function{ var file=e.target.files[0]; var reader=新文件读取器; reader.onload=functionf{ var数据=f.target.result; fabric.Image.fromURLdata,函数img{ var oImg=img.set{ 左:0,, 排名:0, 角度:00,,Javascript 基于未按预期工作的选定/活动对象显示控件,javascript,fabricjs,Javascript,Fabricjs,我遇到了一个问题,如果我从我的计算机添加一个图像,单击它,然后单击它旁边的相应控件将不显示。如果我只需单击IText,它就会工作。如果我添加了一个图像,点击它,点击关闭图像,然后点击IText,它就工作了;但当我选择一个图像,然后选择IText时,情况就不一样了 当选择IText时,我将如何显示适用的文本+删除,以及仅当选择图像时才显示删除;因为它不需要文本控件 //从本地添加图像 var canvas=newfabric.canvas'c'; //显示/隐藏控件 canvas.on'obje
笔划:“f0f0”,//如果您使用的是版本>2.x.x,则要获取选定对象,请使用事件
canvas.on('selection:created', onObjectSelected);
canvas.on('selection:updated', onObjectSelected);
命名setter/getter在构建中是可选的,所以不要使用
演示
//从本地添加图像
var canvas=newfabric.canvas'c';
var选择对象;
//显示/隐藏控件
canvas.on'selection:created',onObjectSelected;
canvas.on'selection:updated',onObjectSelected;
函数onObjectSelectede{
selectedObject=e.已选[0];
document.getElementById'trash'.hidden=false;
document.getElementById'forward'。hidden=false;
document.getElementById'back'。hidden=false;
如果选择Object.type=='i-text'{
document.getElementById'textControls'。hidden=false;
}否则
document.getElementById'textControls'。hidden=true;
};
canvas.on'selection:cleared',函数E{
selectedObject=null;
document.getElementById'trash'。hidden=true;
document.getElementById'forward'。hidden=true;
document.getElementById'back'。hidden=true;
document.getElementById'textControls'。hidden=true;
};
document.getElementById'file'.addEventListenerchange,function{
var file=e.target.files[0];
var reader=新文件读取器;
reader.onload=functionf{
var数据=f.target.result;
fabric.Image.fromURLdata,函数img{
var oImg=img.set{
左:0,,
排名:0,
角度:00,,
stroke:'F0',//谢谢。这很接近,但是如果您1添加文本,2从计算机中添加图像,3选择添加的文本,4然后选择图像,文本控件将保持不变。仅当文本为selected@codeforever你们正在创建一组文本和图像吗?嗨,不,我的意思是分开选择它们。看起来还是这样同样,如果你选择文本,控件会显示出来,但是如果你选择了你添加的图像,文本控件会消失,但不会消失。就这样!干杯。