在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,那么编辑器根本不起作用......
答案 0 :(得分:1)
好的,解决了,我在official documentation
找到了解决方案内联编辑是CKEditor 4中引入的一项新技术 允许您选择页面上的任何可编辑元素并进行编辑 到位。因此,编辑器可用于编辑内容 看起来就像最后一页。 ...
请注意,在这种情况下,您需要关闭自动编辑器创建 首先将CKEDITOR.disableAutoInline选项设置为true。
所以我只想在.replace
下添加这一行CKEDITOR.disableAutoInline = true;