HTMLTextAreaElement: setRangeText() 方法
setRangeText() 方法是 HTMLTextAreaElement 介面的一個方法,用於將引數傳遞的新文字替換 <textarea> 元素中的一段文字。
其他可選引數包括要更改文字的起始位置、結束位置以及一個定義更新文字後 <textarea> 中哪個部分應被選中的關鍵字。如果未提供 startSelection 和 endSelection 引數,則假定該範圍為當前選中的文字。
最後一個引數決定了在文字替換後如何設定選區。可能的值有:"select",選擇新插入的文字;"start",將選區移動到插入文字之前;"end",將選區移動到插入文字之後;或者預設值 "preserve",嘗試保留原有選區。
此外,還會觸發 select 和 selectionchange 事件。
語法
js
setRangeText(replacement)
setRangeText(replacement, startSelection)
setRangeText(replacement, startSelection, endSelection)
setRangeText(replacement, startSelection, endSelection, selectMode)
引數
replacement-
要插入的字串。
selectionStart可選-
第一個選定字元的索引。大於元素值長度的索引將被視為指向值的末尾。
selectionEnd可選-
最後一個選定字元之後的字元的索引。大於元素值長度的索引將被視為指向值的末尾。如果
selectionEnd小於selectionStart,則兩者都被視為selectionEnd的值。 selectMode可選-
一個關鍵字,可以是
select、start、end,或者預設值preserve,定義文字替換後選區應如何設定。
返回值
無(undefined)。
示例
在此示例中,單擊按鈕以替換文字框中的部分文字。新插入的文字將在之後高亮顯示(選中)。
HTML
html
<label for="ta">Example text input:</label>
<textarea id="ta">
This text has NOT been updated.
</textarea>
<button id="btn">Update text</button>
JavaScript
js
const btn = document.getElementById("btn");
btn.addEventListener("click", () => {
changeText();
});
function changeText() {
const textarea = document.getElementById("ta");
textarea.focus();
textarea.setRangeText("ALREADY", 14, 17, "select");
}
結果
規範
| 規範 |
|---|
| HTML # dom-textarea/input-setrangetext-dev |
瀏覽器相容性
載入中…