Javascript 使用fabric.js显示适用的控件
使用fabric.js,我将如何仅在选中文本时隐藏/显示控件(如文本控件)?现在我有一个按钮,可以让人插入文本和文本编辑选项,但我并不总是希望显示这个。理想情况下,它会是一个弹出式选择时 现在,我的代码是:Javascript 使用fabric.js显示适用的控件,javascript,jquery,fabricjs,Javascript,Jquery,Fabricjs,使用fabric.js,我将如何仅在选中文本时隐藏/显示控件(如文本控件)?现在我有一个按钮,可以让人插入文本和文本编辑选项,但我并不总是希望显示这个。理想情况下,它会是一个弹出式选择时 现在,我的代码是: //从本地添加图像 var canvas=newfabric.canvas('c'); document.getElementById('file').addEventListener(“更改”,函数(e){ var file=e.target.files[0]; var reader=n
//从本地添加图像
var canvas=newfabric.canvas('c');
document.getElementById('file').addEventListener(“更改”,函数(e){
var file=e.target.files[0];
var reader=new FileReader();
reader.onload=函数(f){
var数据=f.target.result;
fabric.Image.fromURL(数据、函数(img)){
var oImg=img.set({
左:0,,
排名:0,
角度:00,,
笔划:“#f0f0”,//以下是您实现该目标的方法
- 使用div元素包装文本控件,并将
hidden
属性设置为默认隐藏
- 添加以下鼠标事件,使控件分别在文本选择和取消选择时显示和隐藏
ᴅᴇᴍᴏ强>
//从本地添加图像
var canvas=newfabric.canvas('c');
//显示/隐藏控件
canvas.on('object:selected',函数(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').addEventListener(“更改”,函数(e){
var file=e.target.files[0];
var reader=new FileReader();
reader.onload=函数(f){
var数据=f.target.result;
fabric.Image.fromURL(数据、函数(img)){
var oImg=img.set({
左:0,,
排名:0,
角度:00,,
笔划:“#f0f0”,//以下是您实现该目标的方法
- 使用div元素包装文本控件,并将
hidden
属性设置为默认隐藏
- 添加以下鼠标事件,使控件分别在文本选择和取消选择时显示和隐藏
ᴅᴇᴍᴏ强>
//从本地添加图像
var canvas=newfabric.canvas('c');
//显示/隐藏控件
canvas.on('object:selected',函数(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').addEventListener(“更改”,函数(e){
var file=e.target.files[0];
var reader=new FileReader();
reader.onload=函数(f){
var数据=f.target.result;
fabric.Image.fromURL(数据、函数(img)){
var oImg=img.set({
左:0,,
排名:0,
角度:00,,
笔划:'#f0',//嘿@ℊααnd我想知道,当我选择任何对象时,你是否知道如何切换上述导航的一部分。我希望能够选择任何对象并查看垃圾倒转
,但只有在选择后。谢谢。我想我现在明白了。我很感激。嘿@ℊααnd我想知道当我选择任何对象时,你是否知道我如何切换上述导航的一部分。我希望能够选择任何对象并查看垃圾转发
,但只有在选择时。谢谢。我想我现在明白了。我很感激。
canvas.on('object:selected', function(e) {
if (e.target.type === 'i-text') {
document.getElementById('textControls').hidden = false;
}
});
canvas.on('before:selection:cleared', function(e) {
if (e.target.type === 'i-text') {
document.getElementById('textControls').hidden = true;
}
});