Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2011, 10:37
Интересующийся
Отправить личное сообщение для Frozen Coyote Посмотреть профиль Найти все сообщения от Frozen Coyote
 
Регистрация: 16.02.2011
Сообщений: 14

Mozilla как установить выделение определенного размера в нужную позицию в iframe
Добрый день,

собсвтенно сабж

Для ИЕ

var sel = iDoc.selection.createRange();
             sel.moveStart("character", 2);
	sel.moveEnd("character", 11);
	sel.select();


работает норм (только в ИЕ)

Опера

sel = ifrWnd.getSelection();
	range2 = sel.getRangeAt(0);
             var range = iDoc.createRange();
	range.setStart(sel.anchorNode, 2);
	range.setEnd(sel.anchorNode, 6);
	sel.removeRange(range2);
	sel.addRange(range);


работает странно: если в диапазон 2 - 6 входит чистый текст - все окей, если залез хотя бы один символ от допустим ссылки - выделение не накладывается

Под FireFox и Гугл так и не допер как - оба верхних способа не рабоатют ни в каком виде. Помогите сотворить кроссбраузерную функцию (точнее помочь победить вышеозначенных противников - функцию то я сам конечно смогу создать)

спасибо!

Последний раз редактировалось Frozen Coyote, 17.02.2011 в 10:40.
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2011, 16:12
Новичок на форуме
Отправить личное сообщение для glober Посмотреть профиль Найти все сообщения от glober
 
Регистрация: 24.02.2011
Сообщений: 3

Этот вопрос намного интересней предыдущего. Я бы тоже хотел знать на него ответ, реально три дня сидел экспериментировал, потом заглянул сюда и вижу, что не один я такой. )))

FF, Opera & Chrom легко выделяют текст обрамленный каким либо тегом, вот код:
rang.selectNodeContents(obj);
selectedText.addRange(rang);


А с выделением произвольного текста действительно проблема, но я ее только в FF наблюдал. Причем range.setStart и range.setEnd по моему работают не адекватно, или я никак не могу понять их логику.

Если выделение нужно для ВИЗИВИГ редактора, в принципе можно обойтись выделением текста в теге, т.е. пользователь выделил текст и нажал кнопку для выделения текста жирным шрифтом, скрипт берет выделенный текст в тег <strong> (это просто пример), а затем выделяет текст в этом теге.
Если есть другие варианты буду рад увидеть.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как разбить текст на части определенного размера? R.I.P.er Общие вопросы Javascript 12 07.12.2010 22:29
как можно создать iframe со скриптами GOll Общие вопросы Javascript 2 05.05.2009 11:32