Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript CKEditor:调用编辑器#setData后恢复插入符号位置_Javascript_Ckeditor_Rich Text Editor - Fatal编程技术网

Javascript CKEditor:调用编辑器#setData后恢复插入符号位置

Javascript CKEditor:调用编辑器#setData后恢复插入符号位置,javascript,ckeditor,rich-text-editor,Javascript,Ckeditor,Rich Text Editor,我有一个CKEditor实例,希望在其中操作内容,并将插入符号位置恢复到之后的位置。问题是,当您调用setData时,它会将插入符号重置为编辑器的开头。如果您更改了所有内容,这是可以理解的,但我只是对数据进行了一些小的更改 editor.on('change', function () { var data = editor.getData(); // manipulate `data` var manipulatedData = data; editor.setData(man

我有一个CKEditor实例,希望在其中操作内容,并将插入符号位置恢复到之后的位置。问题是,当您调用
setData
时,它会将插入符号重置为编辑器的开头。如果您更改了所有内容,这是可以理解的,但我只是对数据进行了一些小的更改

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

我为你的查询找到了一个简单的解决方案。而不是添加setdata。您可以使用inserthtml

editor.insertHtml(manipulatedData).

插入数据后将光标保持在结束位置一个简单的解决方案是将数据设置为“”,然后在内容中使用insertHtml。 setData是异步的,因此必须使用回调函数。这是有效的代码:

oEditor.setData('', {callback: function() {
oEditor.insertHtml(YOUR_HTML);
}
});

感谢这个简单的解决方案效果很好,我在执行setData后在末尾设置插入符号位置时遇到了问题,不要忘记setData是异步的,所以当您想清除CKEditor或“修剪”字符限制时,最好执行回调。。。到setData函数它在复制内容?如何解决这个问题请你尽力帮忙,但这只会让插入符号走到最后。啊!setData是异步的!这就是解决办法!在通过setData删除内容后,我试图通过insertHtml插入内容,但没有成功,编辑器总是空的。