IE中的选择范围

时间:2009-08-28 13:36:04

标签: javascript internet-explorer

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

它们都涉及使用 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
 }
}

修改

为了澄清这个问题,我想说我的光标位于这句话的末尾:

  

“一些随机文字

     

<此处>“中

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

  

“一些随机文字< here>”

1 个答案:

答案 0 :(得分:2)

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