ajax刷新后TinyMCE初始化失败

问题描述 投票:0回答:2

我正在使用 TinyMCE 4.1.10 在页面上的多个 div 上启用内联编辑。在初始页面加载时一切正常,但如果我拆除编辑器并在 ajax 调用中重新绑定文本区域,TinyMCE 将不会重新连接到它们。绑定是通过 Knockout 完成的。

这是最初加载数据的函数,并且在刷新发生时也会被调用。

    this.loadLetterFields = function () {
        var editors = $("div.editable");
        for (var i = editors.length - 1; i > -1; i--) {
            var ed_id = editors[i].id;
            tinymce.execCommand("mceRemoveEditor", false, ed_id);
        }

        $.getJSON(_this.fieldURL + "/" + _this.letterId() + "/" + _this.clientId() + "/" + _this.caseId(), function (data) {
            for (var i = 0; i < data.length; i++) {
                // Reload fields
            }
        });

        tinymce.init({
            selector: "div.editable",
            inline: true,
            menubar: false,
            statusbar: false,
            toolbar: "bold italic underline | alignleft aligncenter alignright | bullist numlist outdent indent",
            forced_root_block: false
        });
    };

我已经将几篇 SO 帖子中的内容拼凑在一起,但这似乎是一个反复出现的问题。有什么解决办法吗?这是一个已知的错误吗?

更新: 我只是注意到它似乎不是所有的 div,但是正在工作的 div 和不工作的 div 没有区别。它们都是由同一个 ko if 绑定生成的。

javascript tinymce tinymce-4
2个回答
8
投票
tinyMCE.remove();

。然后

tinyMCE.init();
就会按预期工作。
    


0
投票

谢谢你

© www.soinside.com 2019 - 2024. All rights reserved.