目前的行为是什么?
当我最初在加载tinymce并设置一些html标签时执行setContent时,请说一个带有“ mydiv”类的div。通过在该div的tinymce内部进行编辑来插入某些内容时,导致将内容插入到该mydiv内或创建具有相同属性的另一个div并在其中添加内容
重现步骤
SetContent一些html进入编辑器
通过按Enter或在div一行中写一些内容在编辑器中
预期的行为是什么?
它不应导致新输入的文本被包装在div或附近的标签内。由于必须实施电子邮件签名功能,因此我遇到了问题。
https://codepen.io/paramsinghvc/pen/XaVOzz?editors=1010
tinymce.init({
selector: '#textarea',
plugins : 'advlist autolink link image lists charmap print preview',
height: 300,
init_instance_callback: function(e) {
e.setContent('<div class="mydiv"><strong>Inital Text</strong></div>')
}
});
最佳答案
TinyMCE将项目放在根块中,以使内容有效且格式正确。有一个设置可以更改此行为:
https://www.tinymce.com/docs/configure/content-filtering/#forced_root_block
请注意该设置的警告:“请注意,不将p
元素用作根块可能会严重削弱编辑器的功能。”
当您使格式错误的HTML变得更容易时,这里可能会发生许多坏事。现在将由您自己承担责任,以确保在您取用此内容并将其组装起来使用时,结果是有效的。
关于javascript - 在任何html标记之前/之后写文本也将其包装到html中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45742301/