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
containsNode(node)
containsNode(node)
containsNode(node, partialContainment)
Tham số
node-
Nút đang được tìm trong vùng chọn.
partialContainmentOptional-
Khi
true,containsNode()trả vềtruekhi một phần của nút nằm trong vùng chọn. Khifalse,containsNode()chỉ trả vềtruekhi toàn bộ nút nằm trong vùng chọn. Nếu không chỉ định, giá trị mặc địnhfalsesẽ đượ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.
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
<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
#secret {
color: transparent;
}
JavaScript
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ề.