| 
 установка позиции курсора или выделения в iframe Вложений: 1 Здравствуйте, народ! Что делаю: Текстовый редактор в 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. Желательно научиться считывать выделения и позицию текстового курсора а также устанавливать, даже если можно решить эту проблему без этих действий. Благодарю заранее за помощь и даже за мысленную попытку помочь ;) | 
| 
 если, нет серьезных оснований делать из дива - кнопочку, и можно использовать в качестве кнопки  - КНОПКУ(<input type="button">), то вопрос снимается автоматически :) Код: <html> | 
| 
 Благодарю за решение, IIIEPJIOK, я попробую :), во время наведения можно же и динамически поверх дива подставлять кнопочку, прозрачную только.. вообщем попробую :) | 
| 
 Нашел хорошее решение. Вложений: 1 Получилось все ж таки!!! :))) О как я рад! В Ие надо использовать методы: var rangeMark = rang.getBookmark(); и rang.moveToBookmark(rangeMark); и в конце rang.select(); выделенной области: document.selection.createRange(); простейшая реализация во вложении: select.zip | 
| 
 Что-то я не понял, в первом примере выделение действительно исчезает, но курсор в первой позиции не появляется, он просто исчезает. Во втором случае происходит то же самое. Можете пояснить? Пробовал в ИЕ-7 и Опера 9 | 
| 
 Здравствуй, valenok2003. Здесь рассматривается устранение глюка именно браузера ИЕ, в частности я работаю в ИЕ6, на ИЕ7 этот пример не проверял. В Опере и в Файрфоксе таких проблем нет, там выделение не теряется, только лишь фокус поставить требуется. Кстати, по результатам доработки текстового редактора я понял, что дело было не в методах moveToBookmark и getBookmark они как раз таки вредят в некоторых местах(не помню в каких, помню, что как их убрал - какой-то баг исчез), их можно (даже нужно) убрать, а выделение сохраняется в ИЕ сохранением и установкой объекта rang. Так что можете просто убрать в том моем примере: var rangeMark = rang.getBookmark(); и rang.moveToBookmark(rangeMark); будет тот же эффект - сохраняться выделение в ИЕ6. | 
| Часовой пояс GMT +3, время: 19:59. |