JS解决contenteditable=“true“的光标位置放到最后

JS解决contenteditable="true"的光标位置放到最后
元素设置可编辑后,光标输入时候位置有问题处理。网搜了下能用,记录下。劝大家还是尽量用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();
    }
}
keepLastIndex(document.getElementById("div"))

猜你喜欢

转载自blog.csdn.net/weixin_44461275/article/details/126282272