Selection: phương thức containsNode()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Phương thức Selection.containsNode() cho biết một nút cụ thể có là một phần của vùng chọn hay không.

Cú pháp

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

Tham số

node

Nút đang được tìm trong vùng chọn.

partialContainment Optional

Khi true, containsNode() trả về true khi một phần của nút nằm trong vùng chọn. Khi false, containsNode() chỉ trả về true khi toàn bộ nút nằm trong vùng chọn. Nếu không chỉ định, giá trị mặc định false sẽ được dùng.

Giá trị trả về

Trả về true nếu nút đã cho là một phần của vùng chọn, ngược lại trả về false.

Ví dụ

Kiểm tra vùng chọn

Đoạn mã này kiểm tra xem có nội dung nào bên trong phần tử body được chọn hay không.

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

Tìm từ bí mật

Trong ví dụ này, một thông báo sẽ xuất hiện khi bạn chọn từ bí mật. Nó dùng addEventListener() để kiểm tra các sự kiện selectionchange.

HTML

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

CSS

css
#secret {
  color: transparent;
}

JavaScript

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

// Lắng nghe thay đổi vùng chọn
document.addEventListener("selectionchange", () => {
  const selection = window.getSelection();
  const found = selection.containsNode(secret);

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

Kết quả

Thông số kỹ thuật

Specification
Selection API
# dom-selection-containsnode

Tương thích trình duyệt

Xem thêm

  • Selection, giao diện mà nó thuộc về.