2017-03-01 51 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

相關問題