Я выбираю какой-либо текст на странице html (открыт в firefox) с помощью мыши и используя функции javascript, я создаю/получаю объект rangeobject, соответствующий выбранному тексту.
userSelection =window.getSelection();
var rangeObject = getRangeObject(userSelection);
Теперь я хочу выделить весь текст, который подпадает под rangeobject.I делаю это, как это,
var span = document.createElement("span");
rangeObject.surroundContents(span);
span.style.backgroundColor = "yellow";
Хорошо, это прекрасно работает, только когда rangeobject (начальная точка и конечная точка) находится в одном текстовом поле, затем выделяет соответствующий текст. Ex
<p>In this case,the text selected will be highlighted properly,
because the selected text lies under a single textnode</p>
Но если rangeobject охватывает более одного текстового блока, то он не работает должным образом, он выделяет только тексты, которые лежат в первом текстовом поле, Ex
<p><h3>In this case</h3>, only the text inside the header(h3)
will be highlighted, not any text outside the header</p>
Любая идея, как я могу сделать, все тексты, которые попадают под диапазон, выделены, независимо от того, находится ли диапазон в одном node или несколько node? Спасибо....