原文及更多精彩,在这里:
http://yysource.sourceforge.net/?p=62
当 CKEditor 的内容是“1111”时,鼠标移出编译器并点击,则触发 blur 事件,此时用 getData() 可能无法获取到实时的内容,获取的结果很可能为空。所以比较好的办法是这样:
window.exView = Backbone.View.extend({
editorRender: function () {
editor.on("blur", function(e) {
e.listenerData.model.set("ha_body", this.document.getBody().$.innerHTML);
}, null, this);
},
});
先简单介绍一下:此段代码是在一个 Backbone 框架的View类里面,调用 CKEditor 的专用事件绑定函数 on 对 blur 事件进行绑定。调用 on 时传进去的 this 是 exView 对象,这样 exView 对象在 on 的匿名函数里面就会以 e.listenerData 的形式存在,e.listenerData.model 是 Backbone.Model 类的扩展。
重点:this.document.getBody().$.innerHTML 就是 CKEditor 编辑器里的实时内容了。
本文介绍如何在Backbone框架中使用CKEditor,并确保在触发blur事件时能够准确地获取到编辑器内的实时内容。通过特定的实现方式,可以避免因getData()方法导致的内容丢失问题。
2448

被折叠的 条评论
为什么被折叠?



