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

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.removeAllRanges() xóa tất cả các range khỏi vùng chọn, để các thuộc tính anchorNodefocusNode trở thành null và không còn gì được chọn. Khi phương thức này được gọi, một sự kiện selectionchange sẽ được phát ra trên tài liệu.

Note: Phương thức này là bí danh của phương thức Selection.empty().

Cú pháp

js
removeAllRanges()

Tham số

Không có.

Giá trị trả về

Không có (undefined).

Ví dụ

Ví dụ này hiển thị thông báo khi có hoặc không có gì được chọn trên trang. Nó làm vậy bằng cách lắng nghe sự kiện selectionchange trên tài liệu. Cũng có một nút xóa mọi vùng chọn bằng cách gọi Selection.removeAllRanges(). Khi điều này xảy ra, vùng chọn thay đổi và thông báo được cập nhật.

html
<p>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse laoreet
  urna eget sapien venenatis, eget facilisis diam mattis.
</p>
<button>Clear selection</button>
<pre id="log"></pre>
js
const log = document.getElementById("log");

// Đối tượng selection là singleton liên kết với tài liệu
const selection = document.getSelection();

// Ghi lại xem có vùng chọn hay không
function newSelectionHandler() {
  if (selection.rangeCount !== 0) {
    log.textContent = "Some text is selected.";
  } else {
    log.textContent = "No selection on this document.";
  }
}

document.addEventListener("selectionchange", () => {
  newSelectionHandler();
});

newSelectionHandler();

// Nút hủy mọi range của vùng chọn
const button = document.querySelector("button");
button.addEventListener("click", () => {
  selection.removeAllRanges();
});

Thông số kỹ thuật

Specification
Selection API
# dom-selection-removeallranges

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

Xem thêm