TinyMCE - 排除元素

TinyMCE - exclude elements

本文关键字:元素 排除 TinyMCE      更新时间:2023-09-26

我想知道是否可以从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');

问题是,当TinyMCE在.editable-area上初始化时,它会<br>标签添加到.exclude-this-element并且Editable Area文本停止出现。实际上,我认为整个.exclude-this-element在一段时间后就会被删除。TinyMCE可以完全排除这个元素吗?

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

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

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

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, " ");
 }