多AJAX刷新和TinyMCE出现问题

Having issues with Multiple AJAX refresh and TinyMCE

本文关键字:问题 TinyMCE AJAX 刷新      更新时间:2023-09-26

所以我陷入了这种困境。

<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。我不知道为什么它第一次有效,而不是以后的时候。

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

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

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

要重新初始化,请使用

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

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

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

要重新初始化,请使用

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

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

Tinymce4:要关闭一个到实例,请使用:

tinymce.remove(); 

或指示一个唯一id

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

要重新初始化,请使用

tinymce.init(conftinymce);

或指示一个唯一id

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