8

コンテンツを操作したい CKEditor インスタンスがあり、キャレットの位置を後で元の位置に戻します。問題は、 を呼び出すとsetData、キャレットがエディターの先頭にリセットされることです。すべてのコンテンツを変更する場合、これは理解できますが、データに小さな変更を加えているだけです。

editor.on('change', function () {
  var data = editor.getData();
  // manipulate `data`
  var manipulatedData = data;
  editor.setData(manipulatedData);
});
4

2 に答える 2

1

簡単な解決策は、setData を '' にしてから、コンテンツで insertHtml を使用することです。setData は非同期であるため、コールバック関数を使用する必要があります。これは機能するコードです:

oEditor.setData('', {callback: function() {
oEditor.insertHtml(YOUR_HTML);
}
});
于 2016-10-14T13:34:39.330 に答える
1

クエリの簡単な解決策を見つけました。setdata を追加する代わりに。inserthtml を使用できます

editor.insertHtml(manipulatedData).

データを挿入した後、カーソルを最後の位置に保持します

于 2014-05-28T06:13:24.893 に答える