动态添加TinyMCE时出现问题
问题描述:
我有一个页面,我用javascript将textareas添加到DOM,我希望他们有一个附加的TinyMCE编辑器。动态添加TinyMCE时出现问题
当我添加第一个textarea一切都很好。问题发生在下一个添加。 它看起来像这样: http://dl.dropbox.com/u/1918752/tinymce_problem.png
在萤火虫控制台,有一个“d是未定义的”错误抛出。
我使用
tinyMCE.execCommand("mceAddControl", false, 'textarea_id');
添加TinyMCE的控制,新插入的文本区域。
我正在使用TinyMCE版本3.0.1,不幸的是升级现在不是真正的选择。
后来编辑:
我用插入文本域功能:
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g");
var reg = new RegExp("child_", "g");
$(link).up().previous('ul').insert(content.replace(regexp, new_id).replace(reg, "child_"+new_id));
if($('estore_products_category_children_attributes_'+new_id+'_description')) {
tinyMCE.execCommand("mceAddControl", false, 'estore_products_category_children_attributes_'+new_id+'_description');
}
}
含量参数就是textarea里。 这是在一个Rails应用程序中使用的,我创建了一个帮助器,它根据所使用的关联类型返回一个标准html块,然后用新的唯一元素替换泛型ID并插入到DOM中。
答
我想你没有正确地关闭tinymce为了撤消edito实例具有相同的ID!
要关闭一个编辑器实例正确使用:
tinyMCE.execCommand("mceRemoveControl", false, 'textarea_id');
当您移动编辑器中的DOM内或当您删除包含iframe的编辑DOM的部分这是必要的。
您的文字区域是否有不同的ID?如果是的话,你在第二个文本区域添加TinyMCE时使用了正确的ID吗? – Ben 2011-05-29 13:06:10
是的,那是我检查的第一件事。 – adivasile 2011-05-29 13:07:30
我想你可能不得不向我们展示你用来添加textareas和TinyMCE的确切代码。 – Ben 2011-05-29 13:14:20