我们在Fabric.js中有canvas修改过的事件吗?

时间:2013-08-29 09:36:52

标签: events html5-canvas fabricjs undo-redo

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

实际上我正在尝试实现撤消和重做功能。我将画布保存为JSON,如果发生了某些事情并再次加载它以进行撤消功能。

我们在Fabric.js中有这个功能的更好的解决方案吗?

2 个答案:

答案 0 :(得分:1)

这在link中有更好的解释。以这种方式使用它:

canvas.on('object:moving', function(e) { // or 'object:added'
  var activeObject = e.target;
  console.log(activeObject.get('left'), activeObject.get('top'));
});

答案 1 :(得分:1)

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

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

canvas.on('object:added', canvasModifiedCallback);
canvas.on('object:removed', canvasModifiedCallback);
canvas.on('object:modified', canvasModifiedCallback);