两次ajax调用后显示tinyMCE

时间:2011-09-15 17:21:11

标签: ajax tinymce

在我的页面中,当单击一个按钮时,会出现一个带有textarea(tinyMCE)的div。我有一个关闭该按钮的按钮。当我打开div时,完成我的工作,关闭div,再次打开div,tinyMCE编辑器不会出现。 以下是我的问题摘要 1-)单击按钮,onclick =“doAjax()”并在DIV中显示返回的值 2-)在那个DIV中,有一个带有tinyMCE的textarea。一切都好 3-)关闭div(事实上,只是fadeOut()DIV)一切都OK 4-)再次单击步骤1上的按钮,onclick =“doAjax()”并在DIV中显示返回的值 5-)在那个DIV中,没有一个带有TINYMCE的TEXTAREA! 我尝试使用其中一些但无法使其正常工作

if (tinyMCE.get === 'undefined')
{
   tinyMCE.execCommand('mceRemoveControl', false, 'message');
    tinyMCE.execCommand('mceAddControl', false, 'message');
 }

此代码仅首次显示tinyMCE,而不是第二次或更晚。任何解决方案?

----------------------- SOLUTION ----------------------- ----------- 好。我找到了解决方案

var oldEditor = tinyMCE.get('message');
if (oldEditor != undefined) {
     tinymce.remove(oldEditor);
}
tinyMCE.execCommand('mceAddControl', false, 'message');

工作正常!

2 个答案:

答案 0 :(得分:1)

遇到了同样的问题并通过在再次初始化之前基本删除所有实例来解决它

tinymce.remove();
tinymce.init({selector: 'textarea'});

答案 1 :(得分:0)

我已将您的评论作为答案发布。

var oldEditor = tinyMCE.get('message');
if (oldEditor != undefined) {
    tinymce.remove(oldEditor);
}
tinyMCE.execCommand('mceAddControl', false, 'message');

如果找到答案,请务必考虑花一些时间并发布答案。

谢谢,
Sworoop