0

我尝试了TinyMCE文档)和CKEditor,它们都需要这种代码进行初始化:

tinyMCE.init({
    selector: '.some-div-with-text-inside',
    inline: true,
    fixed_toolbar_container: '.toolbar',
    valid_elements: '*[*]',
    setup: function(editor) {
            // something that happens on setup
    }
});

因此,基本上需要一些选择器,所有具有.some-div-with-text-inside类的 DIV 都将成为 TinyMCE 的可编辑区域。编辑器将出现在.toolbar容器中。

===========================

我理想地想要实现的是一个不附加到任何 DIV 或 TEXTAREA 的编辑器,其功能(如“粗体文本”、“创建链接”)可以在文档中的任何内容可编辑区域上工作,只要有做了一些选择。有了Rangy,这正是可能的。查看演示:http ://rangy.googlecode.com/svn/trunk/demos/cssclassapplier.html

在 TinyMCE v3 中可以使用这样的东西:

$(function(){
            tinyMCE.init({ mode: "none", theme: "simple" });
            tinymce.execCommand("mceAddControl", false, "myEditableDIV");
});

但是mode: "none"在 v4 中不再存在,第二行变成tinyMCE.execCommand("mceAddEditor", false, "myEditableDIV");了现在,但是当以这种方式添加了多个可编辑的 DIV 时,编辑器会在里面多次出现.toolbar。我想知道有什么办法可以防止吗?

对于所有当前和未来的DIV,我只需要 1 个编辑器contenteditable可以从文档中添加或删除某些 DIV。我浏览了他们文档中的每个选项,但我无法让它发挥作用。

4

1 回答 1

0

我认为如果不附加 tinyMCE 就无法编辑 DIV 或 Textarea,但您可以制作一个技巧 - 您可以隐藏编辑器工具栏并仅在关注当前 DIV 或 textarea 时显示它们。为此,您可以使用此功能:

editor.on('focus', function(e) {
        and here show the toolbars
    });
于 2013-10-09T11:55:50.440 回答