【问题标题】:Displayin tinyMCE after twice ajax call两次ajax调用后显示tinyMCE
【发布时间】:2011-09-15 17:21:10
【问题描述】:

在我的页面中,当单击按钮时,会出现一个具有 textarea(tinyMCE) 的 div。我有那个 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 的文本区域! 我尝试使用其中一些,但无法使其工作

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

此代码仅第一次显示 tinyMCE,而不是第二次或更晚。有什么解决办法吗?

-----------解决方案----------- ------------ 好的。我找到了解决办法

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

效果很好!

【问题讨论】:

  • 转义的单引号\'也出现在原文中?
  • 对不起。这是一个 PHP 代码,我删除了其他 \'s 但忘记了这两个
  • 如果您找到了解决方案,您应该将其发布为答案并接受它:)
  • 我不能。我通过包含答案来编辑我的问题,但我不允许在 8 小时内发布答案:)

标签: ajax tinymce


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

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

    谢谢,
    斯沃鲁普

    【讨论】:

      猜你喜欢
      • 2012-03-23
      • 2012-09-23
      • 2015-06-24
      • 1970-01-01
      • 2016-02-25
      • 2017-05-02
      • 2017-12-15
      • 1970-01-01
      • 2017-09-13
      相关资源
      最近更新 更多