我正在升级到tinyMCE 4.x,我试图在通过AJAX加载的textarea上初始化tinyMCE。在3.x中我做了类似的事情:TinyMCE - attach to divs loaded via AJAX calls但这似乎不适用于4.x.
答案 0 :(得分:43)
tinymce.remove();
tinymce.init();
这很好用!
答案 1 :(得分:11)
在TinyMCE中 4.x mceRemoveControl 和 mceAddControl 已被删除。您必须使用 mceRemoveEditor 和 mceAddEditor 。
来自:[Resolved] mceRemoveControl and mceAddControl in tinymce 4
否则,您可以重新加载tinymce.init({...}),但这应该不会那么慢。
答案 2 :(得分:6)
您可以在使用以下代码包含textarea后加载TinyMCE:
//initialize tinyMCE in page
tinymce.init({selector:'textarea'});
答案 3 :(得分:1)
只是为了遇到同样的问题。
我解决了将init脚本包装到这样的函数中的问题。
在我的init.js文件中
initializeTinyMce();
function initializeTinyMce(selector){
if(selector == undefined){selector = 'textarea';}
...
tinymce.init({
selector: selector,
...
});
}

所以在您的ajax请求结果中添加
<script type="text/javascript">
$(document).ready(function(){
initMCE('textarea#someId');
});
</script>
&#13;
对我来说很好用
答案 4 :(得分:0)
tinymce.init({选择器:'textarea'});
只需在ajax中使用它,如果您无法选择该值,则在提交表单之前,请致电
tinyMCE.triggerSave();