如何使模板内容在tinymce中不可编辑

时间:2012-11-14 05:59:07

标签: javascript jquery html tinymce

我已经创建了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”不在插入,但它在那里在插入模板之前的预览上。

感激不尽的任何帮助!

1 个答案:

答案 0 :(得分:2)

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

使用textarea:

  <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或spans):

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

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

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