javascript – IE中的选择范围

我已经搜索了几天,但找不到一个可靠的解决方案来获取I​​nternet Explorer中的选择开始/结束,我已经尝试过
this
this解决方案.

它们都涉及使用document.selection.createRange(),下面的代码将工作得相当好但是如果你去一个新行(按一次或多次输入)然后尝试获得选择开始/结束你将最终在你按下回车之前.从我看到createRange()将不会选择最新的空换行符,我不希望代码变得太乱,所以有不同的解决方案吗?

function selecetion_range()
{
 var range = document.selection.createRange();
    var stored_range = range.duplicate();
    stored_range.moveToElementText(textarea[0]);
    stored_range.setEndPoint('EndToEnd', range );

    return {
          start: stored_range.text.replace(/\r/g,'').length - range.text.replace(/\r/g,'').length,
          end: stored_range.text.replace(/\r/g,'').length
 }
}

编辑:

为了澄清这个问题,假设我的光标位于此引用的末尾:

“some random text

<here>”

一旦我使用上面的代码,选择开始将是:

“some random text<here>”

最佳答案 找到解决方案
here,它是一个巨大的代码块,所以我不想在这里发布答案.

点赞