这段时间使用js+cookies进行自动草稿保存,个人觉的,这些全在客户端处理比较的好,所以没有使用AJAX+数据库的自动草稿保存方法。
结果出现Ckeditor无法绑定onkeyup,onselect,onclick事件的问题,查看了Ckeditor的API,发现如下说明:
instanceReady.ckeditor: fired when the editor is created, but before any callback being passed to the ckeditor() method.
setData.ckeditor: fired when data is set into the editor.
getData.ckeditor: fired when data is fetched from the editor. The current editor data is also passed in the arguments.
destroy.ckeditor: fired when the editor gets destroyed. It can be used, for example, to execute some cleanup on the page.
估计是使用instanceReady,然后在网上查找了一翻,要找这东西的事件绑定,真难。找了N久,找到一个Ckeditor二次开发的例子,经过修改,终于成功。下面是绑定方法。
首先是文本编辑器的绑定:
<textarea name="Content" rows="10" cols="20" id="Content"></textarea>
<script type="text/javascript">
var editor = CKEDITOR.replace('Content', {
language: 'zh-cn', //简体中文
width: 739,
height: 125,
toolbar: 'DJArticle'//工具栏的名称
});
</script>
这样,编辑器就出现了。然后是绑定 onkeyup,onselect,onclick事件。
<script type="text/javascript">
//<![CDATA[
CKEDITOR.instances["Content"].on("instanceReady", function () {
//set keyup event
this.document.on("keyup", AutoSave);
//and click event
this.document.on("click", AutoSave);
//and select event
this.document.on("select", AutoSave);
});
function AutoSave() {//相应的操作过程,可以按下面写,也可以按一般javascript过程写。
CKEDITOR.tools.setTimeout(function () {
alert("10101010");
}, 0);
}
//]]>
</script>
至此,绑定完成!