Тема: DOM - вопрос
Показать сообщение отдельно
  #1 (permalink)  
Старый 24.09.2013, 00:12
Новичок на форуме
Отправить личное сообщение для Cruperman Посмотреть профиль Найти все сообщения от Cruperman
 
Регистрация: 23.09.2013
Сообщений: 6

DOM - вопрос
Привет!
Возникла вот такая проблема. Уже второй день бьюсь над её решением.
Суть:
Есть текст, заключеный в тег span. Например:
<span id="MainText">Ночь, улица, фонарь, аптека,<br>Бессмысленный и тусклый свет.<br>Живи еще хоть четверть века -<br>Все будет так. Исхода нет.<br><br>Умрешь - начнешь опять сначала<br>И повторится все, как встарь:<br>Ночь, ледяная рябь канала,<br>Аптека, улица, фонарь.<br></span>

Есть кнопка.
Пользователь выделяет кусок текста и нажимает на эту кнопку.
В результате выполняется скрипт:
var selection = window.getSelection();
		anchorOffset = selection.anchorOffset; //Начало выделения
		focusOffset = selection.focusOffset; //Конец выделения
		anchorNode = selection.anchorNode; //Контейнер, в котором находится выделенный фрагмент
		
	if( selection.length != 0 ) {
		alert( anchorOffset  + ',' + (focusOffset - anchorOffset) );
		alert( anchorNode.data );
	}


Все работает, но...
anchorNode = selection.anchorNode; //Контейнер, в котором находится выделенный фрагмент

Как контейнер он выведет строку, в которой находится выделенный фрагмент, т.е. то, что находится между тегами <br>..<br> в моем случае.
Следовательно отсчитывать начало и конец выделения он будет от начала этого контейнера.
Мне же нужно, чтобы за контейнер он принимал все, что находится внутри span и отчитывал начало и конец выделения от начала текста, а не от начала строки.

Помогите, пожалуйста.
Ответить с цитированием