ckeditor并在键入时显示用户数据

时间:2013-12-14 09:39:18

标签: javascript html ckeditor

我有一个textarea,当用户将数据输入textarea时,数据显示在表单的底部,作为其数据显示方式的显示(与StackOverflow提供预览显示的方式大致相同)用户在用户输入时提问。)

我已将CKEditor 4.3.1安装到此textarea,并且不再显示预览显示。

我认为这是因为文本区域的id已被CKEditor的id替换,所以我尝试用CKEditor的id替换文本区域的id,但这种方法不起作用。 / p>

我的想法错了吗?我已经阅读了CKEditor文档,但没有找到任何帮助我。

当用户将数据输入CKEditor时,我应该使用什么方法显示数据?

1 个答案:

答案 0 :(得分:4)

这是因为CKEditor在DOM中运行 你的<textarea>(首先隐藏它),事实上,它不会更新{{1}的内容除非您请求它或销毁编辑器。这就是CKEditor的工作原理。

调用editor.updateElement<textarea>与丰富的编辑器内容同步。您可以定期将editor#change事件用于<textarea>并保持同步。

可能存在的问题是,您的现有代码很可能会观察updateElement中触发的键盘事件(onkeyuponkeydown)并更新页面底部的预览。您需要将这些回调重新附加到editor#change事件,因为CKEditor不会触发<textarea>中的任何事件(正如我所提到的,它根本不与它交互)。因此有两种方法可以解决您的问题:

  1. editor#change致电editor.updateElement并点击<textarea>上的代码触发键盘事件(参见the fiddle)。

    <textarea>
  2. 将现有的预览更新回调附加到editor#change

  3. 我是2.因为1.是一种黑客攻击。但是,这当然取决于你。