19

我正在升级到 tinyMCE 4.x,并尝试在通过 AJAX 加载的文本区域上初始化 tinyMCE。在 3.x 中,我做了类似的事情:TinyMCE - 附加到通过 AJAX 调用加载的 div,但这似乎在 4.x 中不起作用。

4

5 回答 5

59
tinymce.remove();
tinymce.init();

这很好用!

于 2015-03-21T23:24:26.837 回答
11

在 TinyMCE 4.x中, mceRemoveControlmceAddControl已被删除。您必须改用mceRemoveEditormceAddEditor

来自:[已解决] tinymce 4 中的 mceRemoveControl 和 mceAddControl

否则,您可以重新加载 tinymce.init({ ... }) 但这不应该是这样,因为它会更慢。

于 2013-11-20T15:13:24.480 回答
7

您可以在包含 textarea 后使用以下代码加载 TinyMCE:

//initialize tinyMCE in page
tinymce.init({selector:'textarea'});
于 2013-10-29T07:23:02.530 回答
1

只是为了然后遇到同样的问题。

我解决了将初始化脚本包装成这样的函数的问题。

在我的 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>

对我来说很好

于 2016-08-13T11:43:50.857 回答
0

tinymce.init({ 选择器:'textarea' });

只需在 ajax 中使用它,如果您无法选择值,那么在提交表单之前,请致电

tinyMCE.triggerSave();

于 2018-10-23T13:21:52.583 回答