Можно ли выбрать конкретный текст внутри div с помощью кода. У меня есть div текста, и мне нужно перебирать каждое слово, выбрав его индивидуально, а затем отбирать и на следующее слово.Выбор частей текста div с помощью кода
Я не говорю о симуляции выбора, меняя фон css слов, требующих выделения, но на самом деле выбираю его так, чтобы результат был таким же, как если бы пользователь использовал мышь, чтобы выбрать его.
Я знаю, что это возможно внутри ввода текстовой области, но возможно ли это на Div?
------------------------ ОБНОВЛЕНИЕ ---------------------- ---------------------
Хорошо, вот где я нахожусь с ним, посмотрев на него сегодня. Я могу выбрать весь текст в промежутке, но не конкретно диапазон слов в пределах этого диапазона. Самый близкий я пришел (код, показанный ниже ...) выбирает диапазон вручную, затем удаляет выделение, а затем повторно применяет его.
<div contentEditable = 'true' id="theDiv">
A selection of words but only from here to here to be selected
</div>
<script type="text/javascript">
setInterval(function() {
var currSelection = window.getSelection();
var storedSelections = [];
if (currSelection) {
for (var i = 0; i < currSelection.rangeCount; i++) {
storedSelections.push (currSelection.getRangeAt (i));
}
currSelection.removeAllRanges();
}
if (storedSelections.length != 0) {
currSelection.addRange(storedSelections[0])
}
}, 1000);
</script>
Сохраненный объект диапазона выбора имеет свойство startOffset и endOffset. Мой вопрос заключается в том, как установить это наряду с первоначальным выбором через код (а не с помощью мыши)?
Что вы пытаетесь сделать? Предоставьте немного больше информации о том, что вы хотите, чтобы результат был. –
Это определенно возможно, потому что HTML-редакторы нас DIVs в сочетании с «contenteditable» для достижения вещей, которые относятся к тому, что вы пытаетесь сделать (предположение здесь). – bart
Какие браузеры вам интересны? API-интерфейс Selections позволяет это, но он не поддерживается IE (Edge будет иметь его) – dman2306