9

在 Fabric.js 中,我们有对象修改事件,例如 object:modified。我们是否对整个画布有类似的事件。

实际上我正在尝试实现撤消和重做功能。如果画布上发生任何事情,我会将画布保存为 JSON,然后再次加载以进行撤消功能。

对于 Fabric.js 中的这个特性,我们有更好的解决方案吗?

4

2 回答 2

5

不要忘记检查添加/删除的对象。你可以像这样实现它:

var canvasModifiedCallback = function() {
console.log('canvas modified!');
};

canvas.on('object:added', canvasModifiedCallback);
canvas.on('object:removed', canvasModifiedCallback);
canvas.on('object:modified', canvasModifiedCallback);
于 2018-01-23T13:54:43.743 回答
3

这在此链接中得到了更好的解释。以这种方式使用它:

canvas.on('object:moving', function(e) { // or 'object:added'
  var activeObject = e.target;
  console.log(activeObject.get('left'), activeObject.get('top'));
});
于 2013-10-24T09:58:32.277 回答