在TinyMCE中的div后按[return]会产生另一个div。你知道为什么和如何停止它吗?

问题描述 投票:0回答:2

TinyMCE的默认行为是,如果我在一个div的结尾处按回车键,就会产生另一个div。heading,它创建了一个新的 p但是,如果我在结束时按回车键 div,它创造了另一个 div.

headingsdivs 都是块元素,而且在 tinyMCE 默认值中似乎有完全相同的设置,所以我不明白为什么会发生这种情况,我也没有找到让它表现不同的方法。我需要的是 div 的行为就像 h1.

代码笔。https:/codepen.iojacopingpenQWjQNxZ。

有人知道为什么div会有这样的行为吗?

javascript html tinymce tinymce-5
2个回答
0
投票

tinyMCE.initforced_root_block : 'p'. 这将始终插入 p 元素时按回车键。

至于为什么会出现这种情况。大多数用户更可能插入一个 p 在...之后 h1,并且更有可能插入一个 div 接二连三 div. 程序很 "聪明",插入了它认为你接下来最有可能使用的元素。


0
投票

当你按 进入 在标题之后,文字处理程序使用的行为(以及人们所期望的)是你 "离开 "标题并返回到一个正常的块。 在文字处理程序中,这就是一个普通的段落(<p></p>).

TinyMCE模仿这种行为,所以当你按回车键离开一个标题(或列表或表格等)时,它会创建一个 "默认根块"。

div是另一种类型的默认根块--只是人们不经常使用。 如果你在一个 div 的结尾处按回车键,就会创建一个 "默认根块"。<p><div> TinyMCE会简单地给你另一个相同的根块元素。

如果你想在最后按回车键的时候回到一个段落,那么你就可以使用TinyMCE。<div> 您可以使用 styleselect 下拉菜单,从列表中选择不同的区块来实现。 在您的例子中,您有

style_formats: [
  { title: 'H1', block: 'h1' },
  { title: 'DIV', block: 'div' },
]  

...它覆盖了列表中的正常选项,并消除了你切换到另一个块选项(如段落)的任何机会。 如果你把这部分配置注释掉,你的选择列表就会包含各种块状选项,这样你就可以切换回段落。

© www.soinside.com 2019 - 2024. All rights reserved.