Javascript 如何将selected:clear过滤器放入作为JSON加载的画布中?

Javascript 如何将selected:clear过滤器放入作为JSON加载的画布中?,javascript,html,css,canvas,fabricjs,Javascript,Html,Css,Canvas,Fabricjs,我有一个画布,我正在加载这个画布作为JSON数据。我想让它在点击画布上除对象之外的空白位置时给我一个alert()。我该怎么做 canvas.on('selection:cleared')code在向画布添加元素时起作用,但我希望它在作为JSON数据加载的画布上起作用 var canvas=newfabric.canvas('c'); var json='{“版本”:“3.1.0”,“对象”:[{“类型”:“组”,“版本”:“3.1.0”,“原始”:“左”,“原始”:“顶部”,“左”:194,

我有一个画布,我正在加载这个画布作为JSON数据。我想让它在点击画布上除对象之外的空白位置时给我一个
alert()
。我该怎么做

canvas.on('selection:cleared')
code在向画布添加元素时起作用,但我希望它在作为JSON数据加载的画布上起作用

var canvas=newfabric.canvas('c');
var json='{“版本”:“3.1.0”,“对象”:[{“类型”:“组”,“版本”:“3.1.0”,“原始”:“左”,“原始”:“顶部”,“左”:194,“顶部”:157,“宽度”:40,“高度”:80,“填充”:“rgb(0,0,0)”,“笔划”:null,“笔划宽度”:0,“笔划数组”:null,“笔划线帽”:“对接”,“笔划偏移”:0,“笔划线连接”:“斜接”,“笔划”,“笔划”笔划:1,“角度”:0,“flipX”:false,“flipY”:false,“opacity”:1,“shadow”:null,“visible”:true,“clipTo”:null,“backgroundColor”:“fillRule”:“nonzero”,“paintFirst”:“fill”,“globalCompositeOperation”:“source over”,“transformMatrix”:null,“skewX”:0,“skewY”:0,“id”:“1047”,“objects”:[{“type”:“rect”,“version”:“3.1.0”,“originX”:“left”,“originY”:“top”,“originY”:“top”,“left”:-20”,“top”:-15,”宽度“:35,“高度”:50,“填充”:“蓝色”,“笔划”:“蓝色”,“笔划宽度”:5,“笔划数组”:null,“笔划线帽”:“butt”,“笔划线偏移”:0,“笔划线连接”:“斜接”,“笔划线限”:4,“刻度线”:1,“刻度线”:1,“角度”:0,“笔划”:false,“flipY”:false,“不透明”:1,“阴影”:null,“可见”:true,“剪贴线”:null,“背景色”:“规则”:“非零”,“绘画优先”:”“fill”、“globalCompositeOperation”:“source over”、“transformMatrix”:null,“skewX”:0,“skewY”:0,“rx”:0,“rx”:0,“ry”:0,“id”:“1047”},{“type”:“text”,“version”:“3.1.0”,“originX”:“center”,“originY”:“top”,“left”:0,“top”:-40,“width”:36,“height”:20.34,“fill”:“red”,“StrokedDashArray”:null,“StrokedWidth”:1,“StrokedDashArray”:null,“strokeLineCap”:“butt”,“StrokedDashOffset”:0,”strokeLineJoin“:“斜接”,“strokeMiterLimit”:4,“scaleX”:1,“scaleY”:1,“angle”:0,“flipX”:false,“flipY”:false,“不透明”:1,“阴影”:null,“可见”:true,“clipTo”:null,“backgroundColor”:“白色”,“fillRule”:“非零”,“paintFirst”:“填充”,“globalCompositeOperation”:“source over”,“transformMatrix”:null,“skewX”:0,“skewY”:0,“skewY”:0,“文本”:“1047”,“fontSize”:18,”fontWeight:“正常”,“fontFamily:“流沙”,“fontStyle:“正常”,“线宽”:1.16,“下划线”:false,“上划线”:false,“线透”:false,“textAlign:“左”,“textBackgroundColor:“字符间距”:0,“样式”:{}}}}},{“类型”:“组”,“版本”:“3.1.0”,“原始”:“左”,“原始”:“顶部”,“左”:640,“顶部”:473,“宽度”:40,“高度”:80,“填充”:“rgb(0,0,0,0)”,”笔划:null,“strokeWidth”:0,“strokeDashArray”:null,“strokeLineCap”:“butt”,“strokeDashOffset”:0,“strokeLineJoin”:“miter”,“StrokeMiterLiit”:4,“scaleX”:1,“scaleY”:1,“angle”:0,“flipX”:false,“flipY”:false,“opacity”:1,“shadow”:null,“visible”:true,“clipTo”:null,“backgroundColor”:“fillRule”:“非零”,“paintFirst”:“fill”,“globalCompositeOperation”:“填充”,“globalCompositeOperation”:源在上,“transformMatrix”:null,“skewX”:0,“skewY”:0,“id”:“1048”,“对象”:[{“类型”:“rect”,“版本”:“3.1.0”,“原始”:“顶部”,“左侧”:-20,“顶部”:-15,“宽度”:35,“高度”:50,“填充”:“蓝色”,“笔划”:“蓝色”,“笔划宽度”:5,“笔划DashArray”:null,“笔划线帽”:“butt”,“StrokedDashOffset”:0,“strokeLineJoin”:“miter”,“StrokedIterLimit”:4,”scaleX“:1,“scaleY“:1,“angle“:0,“flipX“:false,“flipY“:false,“opacity“:1,“shadow“:null”,“visible“:true”,“clipTo“:null”,“backgroundColor“,”fillRule“:”非零”,“paintFirst“:”fill“,”globalCompositeOperation“:”转换矩阵“:”null,“skewX“:0,“skewY“:0”,“skewY“,”id:”1048“,”类型“:”文本“,”版本“:”3.1.0”,“originX“:”中心“:”“顶部”、“左侧”:0,“顶部”:-40,“宽度”:36,“高度”:20.34,“填充”:“红色”、“笔划”:null,“笔划宽度”:1,“笔划数组”:null,“笔划线帽”:“butt”、“笔划线偏移”:0,“笔划线连接”:“斜接”、“笔划线限制”:4,“刻度线”:1,“刻度线”:1,“角度”:0,“flipX”:false,“flipY”:false,“不透明度”:1,“阴影”:null,“可见”:true,“clipTo”:null,“背景色”:“白色”fillRule“:”非零“,”paintFirst“:”填充“,”globalCompositeOperation“:”source over“,”transformMatrix“:”null“,”skewX“:0“,”skewY“:0“,”文本“:”1048“,”fontSize“:”18“,”fontWeight“,”正常“,”fontFamily“:”Quicksand“,”fontStyle“:”正常“,”线宽“:”1.16,“下划线“:”假“,”上划线“:”假“,”假“,”Line“:0,“样式”:{}]}],“背景图像”:{“类型”:“图像”,“版本”:“3.1.0”,“原始”:“左”,“原始”:“顶部”,“左”:0,“顶部”:0,“宽度”:780,“高度”:646,“填充”:“rgb(0,0,0)”,“笔划”:null,“笔划宽度”:0,“笔划数组”:null,“笔划线帽”:“对接”,“笔划偏移”:0,“笔划线连接”:“斜接”,“笔划”,“笔划”:4,“刻度线”:1,“刻度线”:1,“角度”:0,“flipX”:false,“flipY”:false,“opacity”:1,“shadow”:null,“visible”:true,“clipTo”:null,“backgroundColor”:“fillRule”:“nonzero”,“paintFirst”:“fill”,“globalCompositeOperation”:“source over”,“transformMatrix”:null,“skewX”:0,“skewY”:0,“crossOrigin”:“cropX”:0,“cropY”:0,“src”::"https://i1.wp.com/onideal.com/wp-content/uploads/2020/03/Schlafzimmer-Grundriss-ideale-Position-Bett-Moebel-Kleiderschrank-dreieckchen-4-780x646.jpg?fit=780%2C646&ssl=1“,”过滤器“:[]}”
loadFromJSON(json,()=>canvas.renderal(),(o,object)=>{
object.on('选定',()=>{
console.log(object.id);
});
});
//canvas.setBackgroundImage('https://i.hizliresim.com/iBHC0t.jpg,canvas.renderAll.bind(canvas));
//var uniqid=“0”;
var-uniqids=0;
$(“#门”)。在(“点击”上,功能(e){
rect=新结构。rect({
id:uniqid,
左:40,,
前40名,
宽度:35,
身高:50,
填充:“蓝色”,
笔划:“蓝色”,
冲程宽度:5,
笔划制服:错,
哈斯:是的,
});
var uniqid=uniqids.toString();
var text=new fabric.text(uniqid{
尺寸:30,
原文:“中心”,
原创:“对”
});
var group=new fabric.group([rect,text]{
左:0,,
前100名,
});
canvas.add(组);
uniqids++;
canvas.on('selection:cleared',c=>{
控制台日志(“空”);
});
});
//*****************************
画布。在鼠标上