我想知道如何将光标位置移动到我的文本的末尾,包含“contenteditable”DIV ...
下面的代码选择了我在DIV元素中的所有文本...但我只是想在文本末尾添加光标而不选择所有文本......
我的.js代码:
$mydiv.wrapInner('<div contenteditable="true" id="editableCase"></div>');
var range = document.createRange();
range.selectNodeContents(document.getElementById("editableCase"));
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
_case.$element.children().children().focus();
答案 0 :(得分:1)
这是这个问题的常见答案:
function placeCaretAtEnd(el) {
el.focus();
if (typeof window.getSelection != "undefined"
&& typeof document.createRange != "undefined") {
var range = document.createRange();
range.selectNodeContents(el);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
} else if (typeof document.body.createTextRange != "undefined") {
var textRange = document.body.createTextRange();
textRange.moveToElementText(el);
textRange.collapse(false);
textRange.select();
}
}
placeCaretAtEnd( document.getElementById("content") );