Поиск…


Синтаксис

  • Выбор sel = window.getSelection ();
  • Выбор sel = document.getSelection (); // эквивалентно приведенному выше
  • Диапазон диапазона = document.createRange ();
  • range.setStart (startNode, startOffset);
  • range.setEnd (endNode, endOffset);

параметры

параметр подробности
startOffset Если узел является узлом Text, это число символов от начала startNode до начала диапазона. В противном случае это число дочерних узлов между началом startNode где начинается диапазон.
endOffset Если узел является узлом Text, это число символов от начала startNode до конца диапазона. В противном случае это число дочерних узлов между началом startNode где заканчивается диапазон.

замечания

API выбора позволяет вам просматривать и изменять элементы и текст, выбранные (выделенные) в документе.

Он реализуется как одноэкранный экземпляр Selection который применяется к документу, и содержит коллекцию объектов Range , каждая из которых представляет одну смежную выделенную область.

Практически говоря, ни один браузер, кроме Mozilla Firefox, не поддерживает несколько диапазонов в выборе, и это тоже не поощряется спецификацией. Кроме того, большинство пользователей не знакомы с концепцией нескольких диапазонов. Таким образом, разработчик обычно может заниматься только одним диапазоном.

Отмените выбор всего, что выбрано

let sel = document.getSelection();
sel.removeAllRanges();

Выберите содержимое элемента

let sel = document.getSelection();

let myNode = document.getElementById('element-to-select');

let range = document.createRange();
range.selectNodeContents(myNode);

sel.addRange(range);

Возможно, сначала необходимо удалить все диапазоны предыдущего выбора, так как большинство браузеров не поддерживают несколько диапазонов.

Получить текст выделения

let sel = document.getSelection();
let text = sel.toString();
console.log(text); // logs what the user selected

В качестве альтернативы, поскольку функция-член toString вызывается автоматически некоторыми функциями при преобразовании объекта в строку, вам не всегда приходится называть его самостоятельно.

console.log(document.getSelection());


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow