TinyMCE在插入内容后自动复制代码

时间:2019-01-14 13:24:12

标签: javascript tinymce tinymce-4

在使用span插入动态嵌入class="foo"的图像之后,该类中的每一行都具有相同的跨度。

// ...
const eg = '<span class="image"><img src="' + data.url + '"></span>';
ed.execCommand('insertHTML', false, eg); // or setContent or whatever I use

在那之后,如果我按Enter键,我将一遍又一遍地得到:

<p><span class="image"></span></p>

问题:有什么办法可以避免这种行为?

示例:http://jsfiddle.net/rnv4q39f/

1 个答案:

答案 0 :(得分:0)

最后,我可以使用设置选项中的此替代方法完成此操作:

ed.on('keydown', ev => {
    if (ev.keyCode === 13) {
        if (ed.dom.hasClass(ed.selection.getNode(), 'image')) {
            ed.execCommand('mceInsertContent', false, '<p>&nbsp;</p>');
            return false;
        }
        else return true;
    }
});

我从这个问题中提取了相同的问题(今天我发现了):https://stackoverflow.com/a/45394340/1684970。区别在于使用

ed.selection.setContent('<p>&nbsp;</p>');

编辑器保留不间断空格,但使用

ed.execCommand('mceInsertContent', false, '<p>&nbsp;</p>');

不是。