TinyMCE只加载一次 - 使用AJAX添加/删除textarea

The*_*ter 0 ajax jquery tinymce

这是我的代码:

function OpenContentBuilder()
{

    $.post("tools/tools_builder.php", {
        _open_content_builder : 1
    }, function(data)
    {
        $("#container").html(data);

        // Go Back to Course Section List - Button
        $("#course_builder_go_back").click(function()
        {
            tinyMCE.execCommand('mceRemoveEditor ', false, 'target_builder');
            InitCourseContentList()
        });



        if (tinymce.editors.length < 1) {

            tinymce.init({
                mode : "none",
                width : 680,
                height : 300,
                selector : "textarea#target_builder",
                theme : "modern"
            });
        } else if (tinymce.editors.length > 0){
                tinyMCE.execCommand('mceAddEditor', true, 'target_builder');
        } else {
            alert("Cannot load editor!");
        }

    });

}
Run Code Online (Sandbox Code Playgroud)

textarea建立在这一行:

$("#container").html(data);

为它带来的html看起来像这样:

<div>
    <textarea  id="target_builder" ></textarea>
</div> 
Run Code Online (Sandbox Code Playgroud)

它第一次加载,它的工作原理.如果我点击后退按钮去页面的其他地方,然后回来(整个页面网址永远不会改变:它完成了ajax),就在textarea那里,编辑器没有.

当我alerttinymce.editors.length > 0测试中进行测试时,它会显示(在第二次或更多次加载时).

我看到很多问题引用了这个,并说你必须删除并添加实例execCommand.我正确使用这个吗?

小智 7

我知道的解决方案是你必须在再次调用它之前删除tinymce所以在执行时添加tinyMCE.remove(); 删除它们.在接下来的电话会议上,Tinymce将会在那里.