TinyMCE - 动态添加/删除多次

时间:2013-06-11 12:00:34

标签: jquery tinymce

我正在开发一些使用tinyMCE的Web应用程序。我使用TinyMCE 3的常规(非jQuery版本),但我使用jQuery从textarea添加和删除它。

textarea本身首先由div中的html填充,然后添加tinymce控件。 (稍后该内容将保存到db或由表单提交丢弃。

现在 - 这一切基本上都有效,但我遇到的问题是,一旦添加tinyMCE,然后删除一次,它就会卡住,并且不会再次添加控件。

我用它来加载tinyMCE

$(".mcmsmdl_pagestatic_editpopup").on('click',function(){
            var smi = $(this).data('sectionmoduleindex');
            var content = $('#mcmsmdl_pagestatic_content_'+smi).html();
            $('#popup_module_pagestatic').data('sectionmoduleindex',smi);
            $('#mcmsmdl_pagestatic_content_textarea').val(content);
            tinyMCE.execCommand('mceAddControl', false, 'mcmsmdl_pagestatic_content_textarea');
            displayPopup('module_pagestatic',true);
        });

注意:displayPopup()是一个只显示包含tinyMce表单的容器的函数。

tinyMce在弹出窗口关闭时删除:

$(".popup_shadow_module_pagestatic").on('click',function(event){
            event.preventDefault();
            tinyMCE.execCommand('mceFocus', false, 'mcmsmdl_pagestatic_content_textarea');
            tinyMCE.execCommand('mceRemoveControl', false, 'mcmsmdl_pagestatic_content_textarea');
            displayPopup('module_pagestatic',false);
        });

我检查了 - 在第二个代码之后它被卸载了。 任何想法为什么在再次调用相同的(第一个)代码时不会重新添加tinyMCE控件?

修改 用控制台检查后: 它确实正确加载和卸载,但第二次加载会产生“太多的递归”错误。似乎在tinyMCE代码中的某个地方它处于无限循环中......

EDIT2 正如Thariama建议的那样,我将代码更改为首先显示textarea然后添加控件,现在我得到了不同的错误:

在tinymce.js中:

  

TypeError:this.getDoc(...)未定义

在editor_plugin.js中:

  

NS_ERROR_FAILURE:组件返回失败代码:0x80004005   (NS_ERROR_FAILURE)[nsIDOMNavigator.userAgent]

EDIT3 edit2的错误是因为页面已刷新,而且未加载干净。加载干净后,再次显示Too Much Recursion错误...

EDIT4 所有问题似乎都可以通过删除iBrowser插件来解决。 - 现在我需要找到另一个免费的图片上传器...... :(

0 个答案:

没有答案