5

<textarea>TinyMCE-3.4.8-jQueryで初期化された2つ(またはそれ以上)があり<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({...});ます。

#bc1の後に#bc3を挿入すると$('#bc3').insertAfter($('#bc1'));、コンテンツが削除されます。#text3textareaのコンテンツは利用できなくなりました。それはなくなった。これを修正する方法は?

$('#bc3').clone(true, true)また、#bc3のクローンを作成し、#bc1の後にクローンを挿入して、元の#bc3を削除しようとしました。「jQuery入力クローンのバグ」を修正するために、jquery.fix.clonejQueryプラグインを使用しました。ただし、cloneメソッドにもinsertAfterメソッドと同じ問題があります。たぶん、insertAfterは同じことをします:クローンを作成して削除します。わからない、何でも。最初にオリジナルを削除してからクローンを挿入すると、TinyMCEはクローンで使用できませんが、クローンされたテキストエリアのコンテンツは使用できます。最初にクローンを挿入してから元のコンテンツを削除すると、TinyMCEは使用できますが、元のコンテンツは使用できません。

Br

4

1 に答える 1

4

DOM内でのtinymceの移動は、ここで希望するようには機能しません。移動する前にを呼び出す必要がありますmceRemoveControl。次に、エディターのソース要素を移動した後、エディターを再初期化できます。

クローンを作成すると、同じIDになります。Tinymceは同一のIDを許可していません。ソースhtml要素が一意のID(なしではない)を持っていることを確認することをお勧めします。

于 2012-03-02T14:51:14.407 に答える