5

Editor.isDirty() 似乎无法正常工作。在我们的应用程序中,我们检查 Editor.isDirty() 标志。当它评估为真时,我们需要采取一些行动。如果没有任何变化,我们不想浪费处理器时间来评估没有变化的数据。在我们的例子中,一旦内容更新一次,isDirty() 总是评估为真。即使什么都没有改变。

Editor.isDirty() 函数看起来很简单:

isDirty : function() {
  var self = this;
  return tinymce.trim(self.startContent) != tinymce.trim(self.getContent({format : 'raw', no_events : 1})) && !self.isNotDirty;
}

关键似乎是 startContent 属性。这就是 TinyMCE 用来确定发生变化的方法。因此,我希望在编辑器上调用 save() 时更新此属性。查看代码显示这不会发生。事实上 startContent 不会在任何支持它在这里使用的地方重置。有没有其他人看到过这种行为,还是我错误地使用了 Editor 对象?

旁注:TinyMCE 版本 3.5.7。

4

0 回答 0