ckeditor取代了它想要的东西

时间:2014-10-06 10:08:27

标签: asp.net-mvc razor ckeditor

Razor视图中,我有一个简单的textarea

 @Html.TextAreaFor(model => model.Text, new { htmlAttributes = new { @class = "form-control ckHolder" } })

为后端用户提供一个很好的html支持我使用cKEditor,将插件绑定到我正在执行的文本区域:

CKEDITOR.replace("@Html.IdFor(m => m.Text)", {});

一切正常,但今天我开始尝试实施标签系统。

<div class="tag-editor">
 <span class="tag-editor-tags"></span>
 <div class="tag-editor-editable" contenteditable="true"></div>
</div>

渲染如下:

<div class="tag-editor-editable ui-autocomplete-input cke_editable cke_editable_inline cke_contents_ltr cke_show_borders" contenteditable="true" autocomplete="off" tabindex="0" spellcheck="false" style="position: relative;" role="textbox" aria-label="Rich Text Editor, editor1" title="Rich Text Editor, editor1" aria-describedby="cke_107"><p><br></p></div>

但我不会让编辑器内容可编辑的标签div,为什么我使用明确的CKEDITOR.replace和我的textarea的id,我有这种行为?奇怪的是,如果我不使用.replace,那么编辑器根本不起作用......

1 个答案:

答案 0 :(得分:1)

好的,解决了,我在official documentation

找到了解决方案
  

内联编辑是CKEditor 4中引入的一项新技术   允许您选择页面上的任何可编辑元素并进行编辑   到位。因此,编辑器可用于编辑内容   看起来就像最后一页。   ...

     

请注意,在这种情况下,您需要关闭自动编辑器创建   首先将CKEDITOR.disableAutoInline选项设置为true。

所以我只想在.replace

下添加这一行
CKEDITOR.disableAutoInline = true;