TinyMCE - 排除元素

时间:2013-10-09 09:29:20

标签: javascript tinymce tinymce-4

我想知道是否可以从TinyMCE的可编辑DIV中排除一些元素。这是一个示例代码:

<div class="editable-area">
    <h2>heading</h2>
    <p>paragraph</p>
    <div class="exclude-this-element"></div>
</div>

.exclude-this-element:empty:before { content: "Editable Area"; }

tinymce.init({
    inline: true,
    fixed_toolbar_container: '.toolbar'
});
tinyMCE.execCommand('mceAddEditor', false, '.editable-area');

问题是,当在.editable-area上初始化TinyMCE时,它会将<br>标记添加到.exclude-this-elementEditable Area文字会停止显示。实际上,我认为整个.exclude-this-element会在一段时间后被删除。这个元素是否可以被TinyMCE完全排除?

我还想将一些操作(如click或jQuery UI函数)附加到.exclude-this-element,并使其不会干扰TinyMCE。

我尝试了valid_childrenvalid_elementsinvalid_elements,但我认为这些都不能用于排除任何元素的可编辑性(只有在保存内容时才会排除它们)编辑):http://www.tinymce.com/wiki.php/Configuration

1 个答案:

答案 0 :(得分:1)

您可以使用内容可编辑方法

http://www.tinymce.com/wiki.php/api4:property.tinymce.Env.contentEditable以及

不可编辑的插件。此插件使不可编辑类的元素成为 - 不可编辑

http://www.tinymce.com/wiki.php/Plugin:noneditable

修改

尝试通过在tinyMCE INIT配置中添加它来阻止BR元素:

 force_br_newlines : false,
 forced_root_block : "", 
 convert_newlines_to_brs: false, 

如果BR标签在您从某个地方粘贴时出现在内容中,您也可以添加:

paste_preprocess: function(pl, o) {
o.content = o.content.replace(/<br><\/br>/gi, " ");
 }