Привет!
Возникла вот такая проблема. Уже второй день бьюсь над её решением.
Суть:
Есть текст, заключеный в тег 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 и отчитывал начало и конец выделения от начала текста, а не от начала строки.
Помогите, пожалуйста.