Выделение в IE

Статус
В этой теме нельзя размещать новые ответы.

kkkoopp

Постоялец
Регистрация
18 Май 2010
Сообщения
120
Реакции
24
Написал скриптик, который должен в конце выполнения вставлять текст вместо выделенного текста, либо в текущую позицию курсора.

Работает скрипт нормально во всех нормальных браузерах, в IE не работает, то, что там выделение берется через document.selection.createRange() я уже понял, но как оно работает не могу разобраться, скрипты из интернета не работают, а код их я не понимаю. Я javascript вообще не знаю.

Пытался вставить текст вот так

document.selection.createRange().text = newText;

Но оно плохо работает, если текст в textarea не выделен, то выделенный текст вставляется непонятно куда, появляется в левом верхнем углу страницы.

Мне нужно как-то получить начальную и конечную позицию выделенной области, чтобы можно было вырезать куски текста до выделения и после, а потом все склеить и вставить результат в textarea.

Но как получить начальную и конечную позиции я вообще без понятия.

Вопрос в двух вариантах: получить начальную и конечную позиции выделения в IE, либо как-то заставить document.selection.createRange().text = newText; вставлять текст в textarea в место позиции курсора, а не черт знает куда, если текст не был выделен в самом textarea.
 
Проблему решил добавив

area.focus();

перед

document.selection.createRange().text = newText;
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху