长话短说,我不止一次从上到下读过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> </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
元素将会消失。
我已经在网上阅读了很多关于此的文章,所以如果您有任何建议,请回复我非常感谢。
答案 0 :(得分:0)
这里的编辑器(浏览器)添加了一个BR-tag,让用户仍能在第二个内部DIV之前输入。否则,用户无法点击编辑器并在那里插入内容。
您可以使用tinymce事件并将BR-Tag替换为您想要的html元素代码。