Bro*_*Dev 18 fckeditor ckeditor
有没有办法将光标设置在CKEditor内容的末尾?
这位开发人员也问过,但没有得到答案:
http://cksource.com/forums/viewtopic.php?f=11&t=19877&hilit=cursor+end
我想将焦点设置在CKEditor内的文本末尾.我用的时候:
ckEditor.focus();
Run Code Online (Sandbox Code Playgroud)
它将我带到CKEditor内部的文本的开头.
小智 21
Dan的回答对我来说有些奇怪的结果,但是微小的改变(除了错字修复)使它工作:
var range = me.editor.createRange();
range.moveToElementEditEnd( range.root );
me.editor.getSelection().selectRanges( [ range ] );
Run Code Online (Sandbox Code Playgroud)
根据CKEditor 4的文档,一旦有了编辑器对象,就可以执行以下操作.
var range = editor.createRange();
range.moveToPosition( range.root, CKEDITOR.POSITION_BEFORE_END );
editor.getSelection().selectRanges( [ range ] );
Run Code Online (Sandbox Code Playgroud)
链接:http://docs.ckeditor.com/#!/ api/CKEDITOR.dom.selection(在selectRanges函数下).
经过一番摆弄之后,我可以使用以下代码来处理它:
$(document).ready(function() {
CKEDITOR.on('instanceReady', function(ev) {
ev.editor.focus();
var s = ev.editor.getSelection(); // getting selection
var selected_ranges = s.getRanges(); // getting ranges
var node = selected_ranges[0].startContainer; // selecting the starting node
var parents = node.getParents(true);
node = parents[parents.length - 2].getFirst();
while (true) {
var x = node.getNext();
if (x == null) {
break;
}
node = x;
}
s.selectElement(node);
selected_ranges = s.getRanges();
selected_ranges[0].collapse(false); // false collapses the range to the end of the selected node, true before the node.
s.selectRanges(selected_ranges); // putting the current selection there
}
});
Run Code Online (Sandbox Code Playgroud)
这个想法是:
您是否尝试过 ckEditor.Selection.Collapse(false);
归档时间: |
|
查看次数: |
18698 次 |
最近记录: |