Spec-Zone.ru › Web APIs

Метод Selection: containsNode()

Базовая Широко поддерживается

Эта функция хорошо зарекомендовала себя и работает во многих устройствах и версиях браузеров. Она доступна во всех браузерах с марта 2017 года.

  • Подробнее
  • Полная совместимость
  • Отправить отзыв

Метод Selection.containsNode() указывает, является ли указанный узел частью выделенного текста.

Синтаксис

containsNode(node)
containsNode(node)
containsNode(node, partialContainment)

Параметры

node

Узел, который ищется в выделенном тексте.

partialContainment Необязательно

Когда true, containsNode() возвращает true , если часть узла входит в выделение. Когда false, containsNode() возвращает true только в том случае, если весь узел включён в выделение. Если не указано, используется значение по умолчанию false.

Возвращаемое значение

Возвращает true , если данный узел входит в выделение, и false в противном случае.

Примеры

Проверка выделения

Этот фрагмент кода проверяет, выделена ли какая-либо часть внутри элемента body.

console.log(window.getSelection().containsNode(document.body, true));

Поиск скрытого слова

В этом примере появляется сообщение, когда вы выделяете секретное слово. Он использует addEventListener() для проверки событий selectionchange.

HTML

<p>Can you find the secret word?</p>
<p>
  Hmm, where <span id="secret" style="color:transparent">SECRET</span> could it
  be?
</p>
<p id="win" hidden>You found it!</p>

JavaScript

const secret = document.getElementById("secret");
const win = document.getElementById("win");

// Listen for selection changes
document.addEventListener("selectionchange", () => {
  const selection = window.getSelection();
  const found = selection.containsNode(secret);

  win.toggleAttribute("hidden", !found);
});

Результат

Спецификации

Спецификация
Selection API
# dom-selection-containsnode

Совместимость с браузерами

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
containsNode 1 12
1До Firefox 35 метод не выбрасывал исключение, если node был null.
≤12.1 3.1 18
4До Firefox для Android 35 метод не выбрасывал исключение, если node был null.
≤12.1 2 1.0 4.4
partialContainment_parameter_optional 1 ≤79 55 ≤15 3.1 18 55 ≤14 2 1.0 ≤37

См. также

  • Selection, интерфейс, к которому он принадлежит.

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Selection/containsNode

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API