为了账号安全,请及时绑定邮箱和手机立即绑定

是否有Internet Explorer批准的selectionStart和selectionEnd

是否有Internet Explorer批准的selectionStart和selectionEnd

慕码人8056858 2019-11-03 04:04:44
找出在实际浏览器中选择的内容非常简单:var range = {  start: textbox.selectionStart,  end: textbox.selectionEnd}但是IE和往常一样无法理解。跨浏览器的最佳方法是什么?
查看完整描述

3 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

我当前的解决方案很冗长,并且基于此线程,但是我愿意接受更好的解决方案。


function getSelection(inputBox) {

    if ("selectionStart" in inputBox) {

        return {

            start: inputBox.selectionStart,

            end: inputBox.selectionEnd

        }

    }


    //and now, the blinkered IE way

    var bookmark = document.selection.createRange().getBookmark()

    var selection = inputBox.createTextRange()

    selection.moveToBookmark(bookmark)


    var before = inputBox.createTextRange()

    before.collapse(true)

    before.setEndPoint("EndToStart", selection)


    var beforeLength = before.text.length

    var selLength = selection.text.length


    return {

        start: beforeLength,

        end: beforeLength + selLength

    }

}



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 303 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信