Переместите TinyMCE с помощью jQuery - PullRequest
4 голосов
/ 02 марта 2012

У меня есть 2 (или более) <textarea> s, инициализированных с TinyMCE-3.4.8-jQuery в <ul>.

<ul id="content">
<li id="bc1"><textarea id="text1" class="blockcontent"></textarea></li>
<li id="bc2"><textarea id="text2" class="blockcontent"></textarea></li>
<li id="bc3"><textarea id="text3" class="blockcontent"></textarea></li>
</ul>

"Содержимое блока" будет инициализировано с $('.blockcontent').tinymce({...});.

Если я вставлю # bc3 после # bc1 с $('#bc3').insertAfter($('#bc1'));, содержимое будет удалено.Содержимое текстовой области # text3 больше недоступно.Это ушлоКак это исправить?

Я также пытался клонировать # bc3 $('#bc3').clone(true, true), вставить клон после # bc1 и удалить оригинальный # bc3.Чтобы исправить «jQuery Input Clone Bug», я использовал плагин jquery.fix.clone jQuery .Но метод клонирования также имеет ту же проблему, что и метод insertAfter.Может быть, insertAfter делает то же самое: клонировать и удалить.Не знаю, что угодно.Если я сначала удаляю оригинал, а затем вставляю клон, TinyMCE недоступен в клоне, но доступно содержимое клонированной текстовой области.Если я сначала вставлю клон, а затем удалю оригинал, TinyMCE будет доступен, но не оригинальное содержимое.

Br

1 Ответ

4 голосов
/ 02 марта 2012

Перемещение в DOM не работает так, как вы хотели бы здесь. Перед перемещением необходимо вызвать mceRemoveControl, а затем, после перемещения исходного элемента редактора, вы можете повторно инициализировать редактор.

Клонирование приведет к идентичным идентификаторам. Tinymce не позволяет идентичные идентификаторы. Лучше удостоверьтесь, что ваши исходные HTML-элементы имеют уникальный идентификатор (а не ни один).

...