目前我正在使用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
等。