7
在Fabric.js中,我們有Object修改的事件,如object:modified。我們是否對整個畫布有類似的事件?我們是否在Fabric.js中有畫布修改事件?
其實我試圖實現撤消和重做功能。如果發生了某些情況並將其重新加載以用於撤消功能,我將它保存爲JSON。
在Fabric.js中,我們有更好的解決方案嗎?
在Fabric.js中,我們有Object修改的事件,如object:modified。我們是否對整個畫布有類似的事件?我們是否在Fabric.js中有畫布修改事件?
其實我試圖實現撤消和重做功能。如果發生了某些情況並將其重新加載以用於撤消功能,我將它保存爲JSON。
在Fabric.js中,我們有更好的解決方案嗎?
這在這link更好地解釋。這樣使用:
canvas.on('object:moving', function(e) { // or 'object:added'
var activeObject = e.target;
console.log(activeObject.get('left'), activeObject.get('top'));
});
不要忘記檢查添加/刪除的對象了。你可以這樣實現:
var canvasModifiedCallback = function() {
console.log('canvas modified!');
};
canvas.on('object:added', canvasModifiedCallback);
canvas.on('object:removed', canvasModifiedCallback);
canvas.on('object:modified', canvasModifiedCallback);
你如何期待這個事件不同於「object:modified」? 「object:modifed」涵蓋了所有在畫布上進行修改的情況,因爲任何修改都意味着對象更改(除了畫布背景顏色之外,但通常不應該是撤消/重做的一部分) – kangax
當我們向畫布添加任何新對象時對象:修改的事件不會觸發。它只在我們對任何添加的對象執行修改(縮放,旋轉等)時觸發。 – user2571818
您可以使用「對象:已添加」和/或「對象:已刪除」 - http://fabricjs.com/events/ – kangax