Выделение в IE

Тема в разделе "JavaScript", создана пользователем kkkoopp, 18 май 2012.

Статус темы:
Закрыта.
Модераторы: ZiX
  1. kkkoopp

    kkkoopp Постоялец

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

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

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

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

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

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

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

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

    kkkoopp Постоялец

    Регистр.:
    18 май 2010
    Сообщения:
    121
    Симпатии:
    24
    Проблему решил добавив

    area.focus();

    перед

    document.selection.createRange().text = newText;
     
Статус темы:
Закрыта.