div的contenteditable,光标聚集到最后

div的contenteditable在实际项目中,有些手机是可以唤起键盘,但是无法编辑,最后还是用了input,今天还改别人的项目时,遇到这样的问题,点击修改,光标聚集在最后,好在找到一种方法,写记下来

function keepLastIndex(obj) {
    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();
    }
}

经测试还真是可以用的。

你可能感兴趣的:(javascript)