私は困惑して欲求不満なので、助けを求める時間です。たくさんのグーグルをしましたが、まだ私のために働く解決策を見つけていません。
私が持っているのは、Jqueryの並べ替え可能なものを使用して並べ替えることができるたくさんのdivです。一部のdivにはTinyMCEインスタンスが含まれています。TinyMCEインスタンスを含むdivを移動しようとするまでは、これで問題ありません。TinyMCEを実行すると、TinyMCEが自動的に更新されて新しいインスタンスが作成され、データなどが失われます。その後、JavaScriptがなくなるため、ページ全体が壊れます。動作します:)。この間、Firebugでjavascriptコンストラクターエラーなどが発生します。
私が最善の方法を決定したのは、divがドラッグされ始めたときに、テキスト領域からTinymceを削除し、新しい位置に配置されたときに、Tinymceを元に戻すことです。
正常に削除できますが、コンストラクターエラーが増えるため、元に戻すのに問題があります。
注:TinyMCEは、使用しているシステム内のすべてのテキスト領域に自動的に追加されるため、TinyMCEをいじらないようにしてください。
以下のコードでは、テスト目的で特定のテキストエリアIDをターゲットにしています。
$cols.sortable({
cursor: 'move',
revert: true,
opacity: 0.6,
placeholder: 'widgetplaceholder',
forcePlaceholderSize: true,
connectWith: cols,
zIndex:9000,
cancel: ".collapsable_box_editpanel_groups, .collapsable_box_content",
start: function(e, ui) {
// removes tinymce ok from textarea
tinyMCE.execCommand( 'mceRemoveControl', false, 'textarea1' );
},
stop: function(e,ui) {
// breaks here - constructor error
tinyMCE.execCommand( 'mceAddControl', true, 'textarea1' );
$(this).sortable( "refresh" );
}
});
他の誰かが他の解決策を持っていますか?あなたがより多くの情報を必要とするならば、私にさせてください:)