Mike_Ro
@Mike_Ro
Python, JS, WordPress, SEO, Bots, Adversting

Получение выделенного фрагмента в определенном элементе?

Приветствую!
Как получить выделенный фрагмент в определенном элементе? Получить выделенный фрагмент со всей страницы получается, а вот из определенного элемента - нет.

<div id="test">Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</div>

document.getSelection(); // Lorem ipsum...

let el = document.getElementById("test");
el.getSelection(); // el.getSelection is not a function


Загугуглив, нашел решение - проверять родительский элемент, и если он равен нужному, то возвращать выделенный фрагмент. На сколько данное решение правильное?
if(document.getSelection().baseNode.parentNode.id === 'test') return document.getSelection();
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
Выделение на странице может быть только одно и получить его можно при помощи window.getSelection() или document.getSelection()
методы объекта Selection описаны здесь https://developer.mozilla.org/ru/docs/Web/API/Selection
Теперь к вашей задаче. Человек на странице может выделить несколько нод, что именно вы хотите получить? Входит л целевая нода в выделеный текст - Selection.containsNode()
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы