将事件绑定到已加载的画布对象

时间:2016-07-02 18:05:15

标签: javascript fabricjs

目前我正在使用loadFromJSON(json)方法加载画布对象。我用它来实现画布的撤销功能。

在恢复画布状态之前,每个画布对象都绑定了一个鼠标事件。在序列化时是否有可能保存事件?

目前,我使用reviveropt方法中的loadFromJSON回调来解决此问题。要绑定正确的事件回调函数,我需要画布上当前加载的对象的索引。我怎样才能获得这个?

修改 下面我添加了代码来澄清问题。

用户点击撤消后,我会从history - 数组中弹出最新的history对象。之后我打电话给:

this.canvas.loadFromJSON(canvasJSON, this.rerenderAll.bind(this), function(object){ this._loadSeatEvents(object);}.bind(this));,其中canvasJSON是序列化画布,this._loadSeatEvents(object)reviveropt

reviveropt内我必须根据画布上的索引绑定事件。例如:前5个(计算的@runtime)对象应该绑定handlerA,接下来的9个(再次计算的@runtime)对象应该绑定handlerB等。

0 个答案:

没有答案