【TinyMCE】TinyMCE6.1及以上版本去除换行增加的P标签
在TinyMCE 6.1及以上版本中,通过自定义编辑器的行为可以去除由于按下回车键而自动创建的额外<p>
标签。你可以通过注册一个自定义的处理器来覆盖默认的回车处理行为。
以下是一个如何实现的示例代码:
tinymce.init({
// ... 其他配置项
setup: function (editor) {
editor.on('Enter', function (e) {
var isLastNodeTextNode = function (node) {
return node && node.isText && !node.nextSibling;
};
var isLastNodeBr = function (node) {
return node && node.name === 'br';
};
var lastNode = editor.selection.getNode();
if (isLastNodeTextNode(lastNode) || isLastNodeBr(lastNode)) {
e.preventDefault();
editor.execCommand('mceInsertContent', false, '\u00A0'); // 插入不可见的空格
return;
}
// 如果上一个元素不是文本节点或<br>,则允许创建<p>
});
}
// ... 其他配置项
});
在这个例子中,我们监听了Enter
事件,并检查了用户按下回车键时的上一个节点。如果上一个节点是文本节点或<br>
元素,我们阻止了TinyMCE的默认行为,并插入了一个不可见的空格。这样做可以避免在DOM中添加额外的<p>
标签。
请注意,这个代码片段需要在TinyMCE初始化之前或者在setup
函数中使用。根据你的具体需求,你可能需要调整条件判断或者插入内容的方式。
评论已关闭