Editor.isDirty()似乎无法正常工作。在我们的应用程序中,我们检查Editor.isDirty()标志。当评估为真时,我们需要采取一些行动。如果没有任何改变,我们不希望浪费处理器时间来评估未改变的数据。在我们的情况下,一旦内容更新,isDirty()总是评估为true。即使没有任何改变。
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。