可编辑的div在粘贴内容后,光标会在文本的最前面,通过下面代码实现让光标始终定位在文本的最后。
代码如下:
html:
<div id="editable" contenteditable="true">
text text text<br>text text text<br>text text text<br>
</div>
js:
keepInLast(){
var obj = document.getElementById('chatTextDiv')
if (window.getSelection) {//ie11 10 9 ff safari
obj.focus(); //解决ff不获取焦点无法定位问题
var range = window.getSelection();//创建range
range.selectAllChildren(obj);//range 选择obj下所有子内容
range.collapseToEnd();//光标移至最后
}
else if (document.selection) {//ie10 9 8 7 6 5
var range = document.selection.createRange();//创建选择对象
//var range = document.body.createTextRange();
range.moveToElementText(obj);//range定位到obj
range.collapse(false);//光标移至最后
range.select();
}
},
亲测有效,记录一下