javascript - IE中的选择范围

标签 javascript internet-explorer

我已经搜索了好几天,但找不到一个可靠的解决方案来在 Internet 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
 }
}

编辑:

为了澄清问题,假设我的光标位于这句话的末尾:

"some random text

<here>"

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

"some random text<here>"

最佳答案

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

关于javascript - IE中的选择范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1347015/

相关文章:

javascript - 提交表单而不重定向

javascript - Internet Explorer 对象不支持此属性或方法

html - 图像中心垂直和水平对齐,具有响应能力

javascript - SVG 图像不会出现在 IE 11 上

html - Z-Index 在 IE 中不起作用(相对定位)

javascript - 通过 <head> 中的 javascript 在 <body> 之上添加 &lt;script&gt; 节点

asp.net - 用于 ASP.NET 的 jQuery 图表控件

javascript - Tealium Javascript 代码扩展如何返回变量

javascript - Jquery:点击显示图像

html - IE 和 Webkit 中奇怪的页脚行为