7

所以我遇到了这个困境。

<SCRIPT src="../js/tiny_mce/tiny_mce.js"></script>
<SCRIPT type="text/javascript">
   tinyMCE.init({
        mode : "textareas",
        theme : "simple"
   });
</SCRIPT>
<SCRIPT src="../js/admin.js"></script>

以上是在我的 PHP 页面上调用的。

然后我打电话

var request = $.ajax(
{
   url:"getEvents.php",
   type:"POST",
   data:{'method':'showevents'},
   dataType:"html"
   }).done(function(msg){
        $('#eventlistbody').html(msg);
   }); 

   setTimeout(
        function(){
            $(".mceSimple").each(function(){
              tinyMCE.execCommand("mceAddControl",false, this.id);
           })
   },2000); 

这会加载一堆文本区域...... tinyMCE 将在第一次返回时加载到所有文本区域......当我单击重新加载时再次运行上述内容并返回它们不再附加 tinyMCE 的文本区域给他们。我不确定为什么它第一次而不是以后的工作。

4

3 回答 3

13

您应该在重新加载之前正确关闭 tinymce,以便能够在重新加载后重新初始化 tinymce 编辑器。这是必要的,因为 tinymce 不喜欢被拖到 dom 周围。并且初始化的编辑器实例可能有一个唯一的 id(使用 reload 将强制 tinymce 尝试初始化具有相同 id 的第二个编辑器 - 这将失败)。

Tinymce3: 要关闭 edtor 实例,请使用:

tinymce.execCommand('mceRemoveControl',true, editor_id);

重新初始化使用

tinymce.execCommand('mceAddControl',true, editor_id);

Tinymce4: 要关闭 edtor 实例,请使用:

tinymce.execCommand('mceRemoveEditor',true,editor_id);

重新初始化使用

tinymce.execCommand('mceAddEditor',true,editor_id);
于 2013-02-20T11:30:30.617 回答
2

对我来说 tinyMCE.remove(editor_id) 有效。

于 2015-12-22T04:12:50.697 回答
1

Tinymce4:要关闭 edtor 实例,请使用:

tinymce.remove(); 

或指定一个唯一 ID

tinymce.execCommand('mceRemoveEditor',true,editor_id);

重新初始化使用

tinymce.init(conftinymce);

或指定一个唯一 ID

tinymce.execCommand('mceAddEditor',true,editor_id);
于 2016-08-17T21:03:52.523 回答