我一直在搜索很多,但我无法弄清楚如何在contentEditable div中移动文本光标,问题是我没有太多的javascript知识和我找到的最好的工作代码没有'当div内容有多行时,该代码片段如下:
function moveCaret(win, charCount) {
var sel, range;
if (win.getSelection) {
sel = win.getSelection();
if (sel.rangeCount > 0) {
var textNode = sel.focusNode;
var newOffset = sel.focusOffset + charCount;
sel.collapse(textNode, Math.min(textNode.length, newOffset));
}
}else if ( (sel = win.document.selection) ) {
if (sel.type != "Control") {
range = sel.createRange();
range.move("character", charCount);
range.select();
}
}
}
所以基本上我需要一个javascript函数来在一个contentEditable div中移动插入符号,假设div可能有多行。
任何建议,链接或源代码都会很感激。谢谢!