コンテンツ編集ページに CKEditor のインスタンスがあります。CKEditor インスタンスを再利用またはリセットしようとしています。
使用事例
各セルが編集可能なテーブルがあります。ユーザーがセルをクリックすると、編集機能を提供する CKEditor が表示されます。
を使用してデータを設定していますCKEDITOR.instances.cellContent.setData( cellContent );
でデータを取得していますvar cellContent = CKEDITOR.instances.cellContent.getData();
これはうまく機能しますが、CKEditor は、呼び出した後も古いコンテンツがあると認識します。setData()
- ユーザーがセル #1 をクリックする
- ユーザーはセル #1 を編集し、単語に「赤」の色を使用します
- ユーザーがセル #1 を保存する
- ユーザーがセル #2 をクリックする
- 現在、CKEditor はアクティブ/使用中として「赤」の色を表示します。しかし実際には、その色が使用されてから、他のコンテンツがエディターに読み込まれたためではありません。
CKEditor インスタンスをリセット、再利用、または (効率的に) 再インスタンス化する方法を知っている人はいますか?
(Googleはこれについて私を助けませんでした)
一緒に考えてくれてありがとう!
更新 1
各テーブル セルの編集に再利用される単一のエディター インスタンスを使用しています。(非アクティブの場合は、含まれる要素に display:none を設定することで非表示になります)
更新 2
Mac 用の firefox 13.0.1 を使用しています。この色の問題は Chrome では発生しませんが、太字/斜体のボタンでも同じ問題が発生します。