У меня есть страница, на которой я добавляю текстовые области в DOM с помощью javascript, и я хотел бы, чтобы к ним был прикреплен редактор TinyMCE.
Когда я добавляю первую текстовую область, все в порядке. Проблемы возникают со следующими добавленными.
Это выглядит примерно так:
http://dl.dropbox.com/u/1918752/tinymce_problem.png
В консоли Firebug выдается ошибка "d is undefined".
Я использую
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');
}
}
Параметр содержимого - это то, где находится текстовое поле.
Это используется в приложении rails, и я создал помощника, который возвращает стандартный кусок html на основе используемых типов ассоциаций, а затем я заменяю универсальные идентификаторы новыми уникальными и вставляю их в DOM.