day194-控制contenteditable的光标

要点

元素为contenteditable时控制光标在尾部,方法适用于粘贴纯文本时,光标的定位。

代码

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.querySelector('p') );

来源

stackoverflow—contenteditable, set caret at the end of the text (cross-browser)

文章作者: lmislm
文章链接: http://lmislm.com/2019/07/26/2019-07-26/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog