HTMLTextAreaElement: setSelectionRange() method

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 setSelectionRange() của giao diện HTMLTextAreaElement đặt vị trí bắt đầu và kết thúc của vùng chọn văn bản hiện tại, và tùy chọn là hướng, trong phần tử <textarea>. Phương thức này cập nhật trạng thái vùng chọn ngay lập tức, mặc dù phần tô sáng trực quan chỉ xuất hiện khi phần tử có focus. Hướng chỉ ra vùng chọn nên được xem là đã diễn ra như thế nào; ví dụ, vùng chọn được người dùng tạo bằng cách nhấp và kéo từ cuối văn bản được chọn về đầu văn bản. Ngoài ra, các sự kiện selectselectionchange được kích hoạt.

Phương thức này cập nhật ngay các thuộc tính HTMLTextAreaElement.selectionStart, HTMLTextAreaElement.selectionEnd, và HTMLTextAreaElement.selectionDirection, bất kể trạng thái focus. Phần tô sáng vùng chọn trực quan yêu cầu phần tử phải có focus.

Note: Mặc dù setSelectionRange() cập nhật ngay các thuộc tính vùng chọn, phần tô sáng trực quan chỉ xuất hiện khi <textarea> có focus. Việc focus phần tử cũng sẽ kích hoạt sự kiện selectionchange.

Để chọn toàn bộ văn bản của một phần tử <textarea>, hãy dùng phương thức HTMLTextAreaElement.select().

Cú pháp

js
setSelectionRange(selectionStart, selectionEnd)
setSelectionRange(selectionStart, selectionEnd, selectionDirection)

Tham số

selectionStart

Chỉ mục của ký tự được chọn đầu tiên. Chỉ mục lớn hơn độ dài giá trị của phần tử sẽ được coi là trỏ đến cuối giá trị. Xem thuộc tính selectionStart để biết thêm.

selectionEnd

Chỉ mục của ký tự sau ký tự được chọn cuối cùng. Chỉ mục lớn hơn độ dài giá trị của phần tử sẽ được coi là trỏ đến cuối giá trị. Nếu selectionEnd nhỏ hơn selectionStart, cả hai sẽ được coi là giá trị của selectionEnd. Xem thuộc tính selectionEnd để biết thêm.

selectionDirection Optional

Từ khóa "forward", "backward", hoặc mặc định "none" - cho biết hướng mà vùng chọn được xem là đã diễn ra. Xem thuộc tính selectionDirection để biết thêm.

Giá trị trả về

Không có (undefined).

Ví dụ

js
const textarea = document.getElementById("text-box");
const chars = textarea.textLength;
// if the value is more than 10 characters long
if (chars > 10) {
  // Element must be focused to select a range of text within it
  textarea.focus();
  // select the text between the fifth character from the start and
  // the fifth character from the end
  textarea.setSelectionRange(5, chars - 5);
} else {
  // otherwise select all the text
  textarea.select();
}

Đặc tả kỹ thuật

Thông số kỹ thuật
HTML
# dom-textarea/input-setselectionrange-dev

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

Xem thêm