3

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

我的用户进行了初始手动选择,并将其存储到数据库中。为了获取初始选择的开始/结束位置,我使用此处概述的方法Caret position in textarea, in characters from the start (Answered by 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 中正确进行选择?

4

1 回答 1

1

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

至于我,我在我的一个项目中使用 Rangy(也是由 Tim Down 开发的)库作为内容可编辑的 div,它真的很好用,对我帮助很大。

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

于 2012-10-26T20:26:09.383 回答