Я пытался выбрать текст в текстовой области программно на основе начального и конечного индексов, но по какой-то причине выбор смещается на несколько символов:
Мои пользователи делают первоначальный ручной выбор, который я сохраняю в базе данных. Чтобы получить начальные/конечные позиции начального выбора, я использую подход, описанный здесь Позиция курсора в текстовой области, в символах с начала (Ответ Тима Дауна)
Я сохраняю выбор, сделанный пользователями, и когда они возвращаются на страницу, я хочу по умолчанию использовать их предыдущие выборы.
Мой код для выбора на основе сохраненных позиций, которые я извлек с помощью функции Тима Дауна, выглядит следующим образом:
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 программно на основе начала и конца?
\r\n
(не уверен в порядке). Таким образом, вы можете сначала заменить любую последовательность этих двух символов одной новой строкой\n
перед созданием диапазона - person RobG   schedule 26.10.2012