Здравствуйте, народ!
Что делаю:
Текстовый редактор в DHTML.
Проблема у меня следующая:
В Internet Explorer 6 пропадает выделение и курсор текста в iframe с параметром designMode='on' при потери фокуса этого внутреннего фрейма. При программной установки фокуса на фрейм курсор оказывается в начале.
Потеря фокуса происходит при щелчке на каком либо инструменте в панели инструментов, которая расспологается вне внутреннего фрейма.
Задача:
Сделать так чтобы восстанавливать позицию текстового курсора и выделения программно после щелчка на инструменте. Т.е. поставить фокус на iframe а затем восстановить позицию.
ps:
1. Во вложении помещен простейший пример на котором мне надо решить проблему.
2. Позиция текстового курсора и выделение восстанавливается автоматически при установки фокуса на внутренний фрейм в других браузерах. Это заморочка только лишь для ИЕ но его мне как веб-разработчику нельзя игнорировать, так как этот бразуер хоть и самый нелогичный, но увы - самый расспространенный.
3. Я долго пытался найти в коде редактора Tiny этот механизм, но увы.. кода много и отследить не получилось.
4. Я также пролазил по поисковикам, но бесполезно - везде пишут об этой задачи, но для input и textArea я пробывал эти же скрипты применить к iframe с параметром designMode='on' - не прошло.
5. Была идея даже отказаться от designMode='on' в ифрейме и использовать textArea c contenteditable, но сказано что все таки предпочтителен именно iframe c designMode='on' для поддержки древних браузеров и Tiny кстати так сделан.
6. Есть на худой конец еще извращенческий вариант - засунуть в iframe textArea и в нем редактировать текст, но не хочется извращаться, и в Tiny такого извращения нет.
7. Желательно научиться считывать выделения и позицию текстового курсора а также устанавливать, даже если можно решить эту проблему без этих действий.
Благодарю заранее за помощь и даже за мысленную попытку помочь