TinyMCE将内容强制转换为有序列表(ol)

时间:2016-07-25 01:29:24

标签: javascript jquery tinymce wysiwyg

有没有办法强制编辑器以ol开头,所以当用户点击enter时,它会自动转到新的li。用户也应该无法退出ol,因此当他们在空行上点击enter时,它应该保留在ol中。

我尝试了forced_root_block : 'li'forced_root_block : 'ol',但他们似乎没有做任何事情。

我也查看了TinyMCE的文档,但找不到任何方法来执行此操作。谢谢!

1 个答案:

答案 0 :(得分:0)

tinymce.init({
    plugins: "link, paste",
    toolbar: 'numlist',
    valid_elements : "-ol,-li",
    menubar: false,
    paste_as_text: true,
    setup: function (editor) {
        editor.on("init", function() {
            editor.execCommand('InsertOrderedList');
        });
        // This forces all 'enter' and 'backspace' keys to create an 'ol li' element
        editor.on('keyup', function(e) {
            if (e.keyCode == 13 || e.keyCode == 8){
                if (tinyMCE.activeEditor.selection.getNode().nodeName.toLowerCase() != 'li'){
                    editor.execCommand('InsertOrderedList');
                }
            }
        });
    }
});

粘贴为文本插件的方式是当用户粘贴大量文本时,它不会破坏li