3

CKEditor インスタンスを含む要素を複製している状況があります。複製後、すべての ID を変更して、同じページに同じ ID を持つ 2 つの要素がないようにします。CKEditor のクローン バージョンにアクセスできません。実際、要素 ID を介してアクセスすると、オリジナルが取得されます (新しい ID を持つクローンではありません)。置き換えられたテキストエリアには問題なくアクセスできますが、それに付随する CKEditor.editor オブジェクトにはアクセスできません。置き換えられた要素 (ID ではなく) を使用して、このオブジェクトにアクセスすることは可能ですか?

NB質問を明確にするためにここに追加できることを教えてください...

フォローアップ すると、私はこれについて間違った方法で考えていたことに気づきました. CKEditor を含む要素のクローンを作成すると、要素のコピーが作成されますが、CKEDITOR オブジェクトはそれを認識しません。私がやったことは、複製されたエディターに関連付けられているhtmlを削除し、CKEDITOR.replace複製されたテキストエリアを置き換えるために再度呼び出すことです。これが理解できることを願っています。書く時間があまりありません。不明な点がある場合は、コメントを残してください。すぐに説明します。

4

2 に答える 2

2

jQuery アダプターを使用している場合は、次を使用して CKEDITOR オブジェクトを取得できます...

$(element).ckeditorGet();
于 2016-04-28T09:58:16.060 に答える
1

私は質問が何であるかについて100%ではありませんが、ID「コンテンツ」のテキストエリアがあり、それをエディターに置き換えると、次のようにCKEDITOR.instancesからインスタンスにアクセスできます。

CKEDITOR.instances.content        OR 
CKEDITOR.instances[content]       OR 
CKEDITOR.instances["content"]

複製されたテキスト領域の ID を "content2" に変更し、複製エディター インスタンスが CKEDITOR.instances にない場合、ID の更新後に複製を置き換える必要があります。

CKEDITOR.replace('content2');

したがって、エディタには複数のインスタンス「content」と「content2」があります。インスタンスをループして検証し、必要なものを使用できます。

for(x in CKEDITOR.instances){
var instance = CKEDITOR.instances[x];
// do something with the instance
}
于 2013-03-28T18:15:04.613 に答える