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 и Гугл так и не допер как - оба верхних способа не рабоатют ни в каком виде. Помогите сотворить кроссбраузерную функцию (точнее помочь победить вышеозначенных противников - функцию то я сам конечно смогу создать) :) спасибо! |
Этот вопрос намного интересней предыдущего. Я бы тоже хотел знать на него ответ, реально три дня сидел экспериментировал, потом заглянул сюда и вижу, что не один я такой. )))
FF, Opera & Chrom легко выделяют текст обрамленный каким либо тегом, вот код: rang.selectNodeContents(obj); selectedText.addRange(rang); А с выделением произвольного текста действительно проблема, но я ее только в FF наблюдал. Причем range.setStart и range.setEnd по моему работают не адекватно, или я никак не могу понять их логику. Если выделение нужно для ВИЗИВИГ редактора, в принципе можно обойтись выделением текста в теге, т.е. пользователь выделил текст и нажал кнопку для выделения текста жирным шрифтом, скрипт берет выделенный текст в тег <strong> (это просто пример), а затем выделяет текст в этом теге. Если есть другие варианты буду рад увидеть. |
| Часовой пояс GMT +3, время: 21:42. |