TinyMCE的问题<br/>&amp; <p>标签

时间:2017-03-15 11:37:32

标签: tinymce tinymce-4

长话短说,我不止一次从上到下读过TinyMCE文档(4.x)。

我的问题是我在TinyMCE编辑器中有一个自定义按钮,它在编辑器中添加两列。 HTML语法是:

<div class="wrapper">
    <div class="half-column">
        <p>Half Column</p>
    </div>
    <div class="half-column">
        <p>Half Column</p>
    </div>
</div>

但如果用户删除Half Column文本,则语法将更改为:

    <div class="wrapper">
        <br>
        <div class="half-column">
            <p>Half Column</p>
        </div>
    </div>

因此br标记会覆盖div标记,这就是问题所在。 理想的HTML语法是:

<div class="wrapper">
    <div class="half-column">
        <p></p>
    </div>
    <div class="half-column">
        <p>Half Column</p>
    </div>
</div>

或者:

<div class="wrapper">
    <div class="half-column">
        <p>&nbsp;</p>
    </div>
    <div class="half-column">
        <p>Half Column</p>
    </div>
</div>

我玩过这些设置:https://www.tinymce.com/docs/configure/content-filtering/ 我认为valid_children设置可以帮助我,但至少现在 - 我还没想出来。

这对我来说有趣且非常奇怪的是,如果我开始输入空编辑器p标签将会出现,如果我删除键入的文本,p标记将保留。我已设置forced_root_block: 'p'

但如果我在<div class="custom-div"></div>内开始输入,则p标记将不会出现,因此如果用户删除该段落,整个div元素将会消失。

我已经在网上阅读了很多关于此的文章,所以如果您有任何建议,请回复我非常感谢。

1 个答案:

答案 0 :(得分:0)

这里的编辑器(浏览器)添加了一个BR-tag,让用户仍能在第二个内部DIV之前输入。否则,用户无法点击编辑器并在那里插入内容。

您可以使用tinymce事件并将BR-Tag替换为您想要的html元素代码。