我正在使用TinyMCE 4.1.10在页面上的几个div上启用内联编辑。在初始页面加载时一切正常,但是如果我拆除编辑器并在ajax调用中重新绑定textareas,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生成。
答案 0 :(得分:4)
我遇到了类似的问题。我的解决方案是在调用重新加载之前调用tinyMCE.remove();
。然后tinyMCE.init();
将按预期工作。