2017-03-01 23 views
2

我正在尝试为面料js创建一个学校项目的绘图应用程序,并且希望允许用户将他们的图形保存到我的数据库并重新打开以进行编辑等等。我知道其中一些是多余的,但我一直在尝试各种方法来清除画布,让选定的画布打开。面料JS:为什么我的形状被替换为画布上的图像

我的Chrome缓存被禁用,我也用这行代码:

fabric.Object.prototype.objectCaching = false; 

我从我的数据库,每次我上传开JSON到我的画布。如果我从包含5个图像(png或svg)的数据库打开一个文件并将其打开到我的画布,然后决定打开一个不同的图形,只有10个图形(矩形,圆形等)画布将打开这5个图像以前在画布上取代了5个形状,然后其他5个形状也会在那里......?

$.ajax({ 
     type: "GET", 
     url: "canvasLoadByName.php", 
     dataType: "json", 
     data: {canvas_name: canvas_name}, 
     success: function (result){ 

       //alert(canvas_name + " has been selected!"), 

       $("#Open").click(function() { 
        //canvas.getActiveGroup().forEachObject(function(o){ canvas.remove(o) }); canvas.discardActiveGroup().renderAll(); 
        ctx.clearRect(0, 0, canvas.width, canvas.height); 
        canvas.clear(); 
        canvas.loadFromJSON(); 
        canvas.renderAll(); 
        canvas.loadFromJSON(result, canvas.renderAll.bind(canvas)); 
        fabric.log(result); 

回答

0

出于某种原因,它是这个按钮:

$("Open").click(function(){} 

这是造成问题。我希望它在下拉列表中立即选择时不会打开,而是在他们选择他们想要的文件时选择“确定”。无需点击打开它可以正常工作...:s

相关问题