диапазон выбора в IE - PullRequest
       2

диапазон выбора в IE

4 голосов
/ 28 августа 2009

Я искал несколько дней, но не смог найти одно надежное решение для начала / конца выбора в Internet Explorer, я пробовал это и это решение.

В обоих случаях используется document.selection.createRange () , приведенный ниже код будет работать достаточно хорошо, но если вы перейдете на новую строку (нажмите ввод один или несколько раз), а затем попытаетесь начало / конец выбора вы закончите, прежде чем вы нажмете Enter. Из того, что я вижу, 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
 }
}

редактирование:

Чтобы прояснить проблему, допустим, мой курсор находится в конце этой цитаты:

"какой-то случайный текст

"

как только я воспользуюсь приведенным выше кодом, выбор начнется так:

"какой-то случайный текст "

1 Ответ

2 голосов
/ 03 сентября 2009

Нашел решение здесь , это огромный блок кода, поэтому я не хочу публиковать здесь ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...