1

我正在寻找如何为已使用 AJAX 加载的文本区域设置 tinymce。

我使用 TinyMCE 4.0.2(缩小版),我发现了这个方法:

var ed = tinymce.get('content');
//ed.init();
ed.render();
//ed.focus();

通过此页面:http ://www.tinymce.com/wiki.php/api4:class.tinymce.Editor

代码注释是我单独测试或没有其他结果的其他解决方案

这种更改几乎是正确的,文本区域很好,但无法访问,我无法编辑它。

我什至尝试通过这种方法创建一个新的tinymce:

var ed = new tinymce.Editor('content');

但它不起作用(TypeError: r is undefined)。

最后,我什至测试了这样的旧代码:

tinymce.execCommand("mceAddControl", false, "content");

但我仍在检查中

所以我现在卡住了,你知道如何纠正我的错误吗?我使用 JQuery 但我不使用插件 tinymce.jquery,我想自由更改 JS 框架。但显然情况如此,我已经尝试过这段代码(通过http://fiddle.tinymce.com/rsdaab):

$('#content').tinymce();

那也不行。这是我使用的 JS 代码:

$.ajax({
    url:'/admin/post/new',
    type:'get'
})
    .done(function(data) {
        $('#main').html(data);
        var ed = tinymce.get('content');
        ed.render();
    });

提前谢谢你

4

1 回答 1

0

创建一个函数:

    function tinyMceLoader(tinyMceID) {
    var ed = new tinymce.Editor(tinyMceID,
            {
                mode: "textareas",
                theme: "advanced",
                skin: "o2k7",
                directionality: "rtl",
                plugins: "autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",
                // Theme options
                theme_advanced_buttons1: "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect,|,cut,copy,paste,pastetext,pasteword|,insertdate,inserttime,preview,|,forecolor",
                theme_advanced_buttons2: "search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage,|,print",
                theme_advanced_buttons3: "ltr,rtl,|,tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,backcolor",
                theme_advanced_buttons4: "",
                theme_advanced_toolbar_location: "top",
                theme_advanced_toolbar_align: "right",
                theme_advanced_statusbar_location: "bottom",
                theme_advanced_resizing: true
            },
    tinymce.EditorManager);
    ed.render();
}

然后:

$.ajax({
    url:'/admin/post/new',
    type:'get'
    processData: false,
    contentType: false,
    success: function (e) {
                  //some code ....
                  tinyMceLoader('content');        
             }
    });
于 2014-11-28T01:01:15.260 回答