我一直在尝试根据开始和结束索引以编程方式选择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中进行选择?
答案 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