получить HTML-код выделенного фрагмента
для IE6 нашёл ответ: document.selection.createRange().htmlText;
для остальных нашёл window.getSelection().getRangeAt(0).toString(); но возвращает текст без тегов. подскажите :cray: ________ пробовал такой код: var range = window.getSelection().getRangeAt(0); var e = document.createElement('span'); e.appendChild(range.cloneContents()); alert(e.innerHTML); но достаёт теги только если кроме слова выделить и пробел, подскажите как сделать аналог "IE-го кода" p.s. решение нужно без использования библиотек |
Без учета текстовых полей (из-за FF так и не получилось с их учетом сделать):
if (window.getSelection) { var elem = document.createElement('div'), sel = getSelection(), i = 0, l = sel.rangeCount; while (i < l) { elem.appendChild(sel.getRangeAt(i++).cloneContents()); } return elem.innerHTML; } return document.selection.createRange().htmlText; |
неужели нерешаемо?
|
Решаемо и для FF, но там через Ж получается.
evgh, тебе обязательно с текстовыми полями нужно? Зачем? |
делаю подобие WYSIWYG, и если учесть что без айфрэймов (а почти все, если не все WYSIWYG на айфрэймах), то вариант через Ж подходит :yes:
хочу определять что за теги снаружи текста, и если (к примеру) <b></b> , а я хочу ещё и курсив, то убирать <b> и ставить <span style="font-weight: 600;font-style:italic;"> (тоже к примеру) p.s. если идея и хреновенькая, то убеждать меня в этом не надо, просто помогите кодом |
Цитата:
Цитата:
|
Цитата:
я в div-е ковыряюсь (contenteditable="true") пока что все махинации провожу в div-е, используя его как текстовое поле, без него никуда. |
Неужели ни у кого нет идей :help: , или может знаете ещё куда (форумы) обратиться за советом?
|
Часовой пояс GMT +3, время: 04:45. |