首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在CKEditor中将光标位置设置为文本末尾?

如何在CKEditor中将光标位置设置为文本末尾?
EN

Stack Overflow用户
提问于 2010-12-27 11:53:34
回答 6查看 22.3K关注 0票数 19

有没有办法将光标设置在CKEditor内容的末尾?

这位开发人员也问了,但没有得到任何回答:

http://cksource.com/forums/viewtopic.php?f=11&t=19877&hilit=cursor+end

我想在CKEditor内的文本末尾设置焦点。当我使用:

代码语言:javascript
复制
ckEditor.focus();

它将我带到CKEditor中已经存在的文本的开头。

EN

回答 6

Stack Overflow用户

发布于 2013-06-01 04:14:43

Dan的回答对我来说得到了奇怪的结果,但小小的改变(除了修复打字错误之外)让它起作用了:

代码语言:javascript
复制
var range = me.editor.createRange();
range.moveToElementEditEnd( range.root );
me.editor.getSelection().selectRanges( [ range ] );
票数 24
EN

Stack Overflow用户

发布于 2013-05-01 04:11:31

根据CKEditor 4的文档,一旦拥有了编辑器对象,就可以执行以下操作。

代码语言:javascript
复制
var range = editor.createRange();
range.moveToPosition( range.root, CKEDITOR.POSITION_BEFORE_END );
editor.getSelection().selectRanges( [ range ] );

链接:http://docs.ckeditor.com/#!/api/CKEDITOR.dom.selection (在selectRanges函数下)。

票数 11
EN

Stack Overflow用户

发布于 2014-11-15 07:48:16

这是对@peter-tracey的类似回答。在我的例子中,我的插件是插入一个引用。如果用户做了选择,我需要禁用选择并将光标放在句子的末尾。

代码语言:javascript
复制
  // Obtain the current selection & range
  var selection = editor.getSelection();
  var ranges = selection.getRanges();
  var range = ranges[0];

  // Create a new range from the editor object
  var newRange = editor.createRange();

  // assign the newRange to move to the end of the current selection
  // using the range.endContainer element.
  var moveToEnd = true;
  newRange.moveToElementEditablePosition(range.endContainer, moveToEnd);

  // change selection
  var newRanges = [newRange];
  selection.selectRanges(newRanges);

  // now I can insert html without erasing the previously selected text.
  editor.insertHtml("<span>Hello World!</span>");
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4536532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档