Проблема при динамическом добавлении TinyMCE - PullRequest
0 голосов
/ 29 мая 2011

У меня есть страница, на которой я добавляю текстовые области в 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.

1 Ответ

2 голосов
/ 30 мая 2011

Я думаю, что вы неправильно закрыли tinymce, чтобы восстановить экземпляр edito с тем же идентификатором!

Чтобы правильно закрыть экземпляр редактора, используйте:необходимо, когда вы перемещаете редактор внутри dom или когда вы удаляете части dom, содержащие редактор iframe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...