TinyMCE 在插入内容后自动复制代码
TinyMCE replicates code automatically after insert content
在 span
和 class="foo"
中插入动态嵌入的图像后,每个下一行在 class.
中具有相同的跨度
// ...
const eg = '<span class="image"><img src="' + data.url + '"></span>';
ed.execCommand('insertHTML', false, eg); // or setContent or whatever I use
在那之后,如果我按回车键,我会一次又一次地得到这个:
<p><span class="image"></span></p>
问题:有什么办法可以避免这种行为吗?
最后我可以通过设置选项中的这个解决方法来完成它:
ed.on('keydown', ev => {
if (ev.keyCode === 13) {
if (ed.dom.hasClass(ed.selection.getNode(), 'image')) {
ed.execCommand('mceInsertContent', false, '<p> </p>');
return false;
}
else return true;
}
});
我从这个问题中提取了同样的问题(我今天发现):。区别在于使用
ed.selection.setContent('<p> </p>');
编辑器保留 非中断 space,但使用
ed.execCommand('mceInsertContent', false, '<p> </p>');
没有。
在 span
和 class="foo"
中插入动态嵌入的图像后,每个下一行在 class.
// ...
const eg = '<span class="image"><img src="' + data.url + '"></span>';
ed.execCommand('insertHTML', false, eg); // or setContent or whatever I use
在那之后,如果我按回车键,我会一次又一次地得到这个:
<p><span class="image"></span></p>
问题:有什么办法可以避免这种行为吗?
最后我可以通过设置选项中的这个解决方法来完成它:
ed.on('keydown', ev => {
if (ev.keyCode === 13) {
if (ed.dom.hasClass(ed.selection.getNode(), 'image')) {
ed.execCommand('mceInsertContent', false, '<p> </p>');
return false;
}
else return true;
}
});
我从这个问题中提取了同样的问题(我今天发现):。区别在于使用
ed.selection.setContent('<p> </p>');
编辑器保留 非中断 space,但使用
ed.execCommand('mceInsertContent', false, '<p> </p>');
没有。