我有2个(或更多个)<textarea>
,它们是用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').insertAfter($('#bc1'));
在#bc1之后插入#bc3,则内容将被删除。 #text3文本区域的内容不再可用。它不见了。如何解决这个问题?
我也尝试克隆#bc3
$('#bc3').clone(true, true)
,在#bc1之后插入克隆,并删除原始的#bc3。要修复“jQuery Input Clone Bug”,我使用了jquery.fix.clone jQuery plugin。但是clone方法也具有与insertAfter方法相同的问题。也许insertAfter做同样的事情:克隆并删除。不知道,随便如果先删除原件,然后插入克隆,则TinyMCE在克隆中不可用,但是克隆的textarea的内容可用。如果我先插入克隆,然后删除原始副本,则TinyMCE可用,但原始内容不可用。溴
最佳答案
如您在此处所述,在DOM中移动tinymce无效。
在移动它之前,您需要调用mceRemoveControl
,然后在移动编辑器源元素之后,可以重新初始化编辑器。
克隆将产生相同的id。 Tinymce不允许使用相同的ID。最好确保您的源html元素具有唯一的ID(不是唯一的ID)。