在IE 8中以编程方式选择textarea中的文本

时间:2012-10-25 22:14:17

标签: javascript asp.net html textarea textselection

我一直在尝试根据开始和结束索引以编程方式选择textarea中的文本,但由于某种原因,选择会被几个字符位置偏移:

我的用户进行了初步的手动选择,我将其存储到数据库中。 要获得初始选择的开始/结束位置,我使用此处概述的方法Caret position in textarea, in characters from the start (Tim Down回答)

我存储了用户所做的选择,当他们返回到我想要在之前的选择中默认的页面时。

根据我使用Tim Down功能提取的存储位置进行选择的代码如下:

  function SelectText(start,end) {
    var textArea = document.getElementById("textArea");

    var inputRange = textArea.createTextRange();
    inputRange.collapse(true);

    inputRange.moveStart("character", start);
    inputRange.moveEnd("character", end - start);

    inputRange.select();
}

似乎问题是由换行符/空格引起的。有没有人知道如何在开始和结束时以编程方式正确地在IE中进行选择?

1 个答案:

答案 0 :(得分:1)

我不知道它是否对您有所帮助,但您可以尝试使用由Tim Down开发的RangyInputs js库,并使用以下网址提供:http://code.google.com/p/rangyinputs/

至于我,我在我的一个项目中使用了Rangy(由Tim Down开发的)库,用于内容可编辑的div,它确实运行良好并帮助了我很多。

有关支持的方法的文档,您可以在WiKi页面上找到:http://code.google.com/p/rangyinputs/wiki/Documentation