3

我已经创建了 html 模板文件,我在该模板中放置了一些不可编辑的元素。

template.html 包含

<body>
<div>This is a sample template </div>
<div contenteditable="false" style="color:red">Read Only Text</div>
</body>

在将此模板文件插入 textarea 时,第二个 div 是可编辑的,在检查该 div 时,我发现属性contenteditable="false"在插入时不存在,但在插入模板之前的预览中存在。

任何帮助都感激不尽!

4

1 回答 1

2

从这个页面:http ://www.tinymce.com/tryit/noneditable_content.php

它使用文本区域:

  <textarea name="content" style="width:100%">
    &lt;p&gt;Text with a &lt;span class="mceNonEditable"&gt;[non editable]&lt;/span&gt; inline element.&lt;/p&gt;
    &lt;p class="mceNonEditable"&gt;Noneditable text block with &lt;span class="mceEditable"&gt;[editable]&lt;/span&gt; items within.&lt;/p&gt;
    &lt;p&gt;Text with tokens that isn't [[editable]] since they match the noneditabe_regexp.&lt;/p&gt;
  </textarea>

这里的关键是在您的元素中放置一个 mceNonEditable 类:

span class="mceNonEditable"

然后,无论您拥有什么不可编辑的内容,都将其包装为大于和小于:

&gt;You cannot edit me&lt;

然后最后关闭元素:

/span

我认为您还可以在初始化tinymce时更改模式(在示例中他们使用的是textareas,所以我想您也可以使用div或span):

tinyMCE.init({
        mode : "textareas",
        noneditable_regexp: /\[\[[^\]]+\]\]/g
});

还有 noneditable_regexp 可让您指定不可编辑内容的正则表达式。我认为这比使用 html 实体更容易。

我实际上并没有尝试过,但这就是我解释页面中示例的方式。

于 2012-11-14T06:16:12.120 回答