可编辑的div在粘贴内容后,让光标定位在文本的最后

作者:重庆崽儿Brand

可编辑的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();
        }
      },

亲测有效,记录一下

文章归类于: 码不停蹄

文章标签: #前端

版权声明: 自由转载-署名-非商用