HTMLInputElement: setRangeText() 方法

HTMLInputElement.setRangeText() 方法用一个新字符串替换 <input><textarea> 元素中的一段文本。

语法

js
setRangeText(replacement)
setRangeText(replacement, start)
setRangeText(replacement, start, end)
setRangeText(replacement, start, end, selectMode)

参数

replacement

要插入的字符串。

start 可选

要替换的第一个字符的 0 为基数索引。默认为当前 selectionStart 值(用户当前选择的开始位置)。

end 可选

要替换的最后一个字符之后的 0 为基数索引。默认为当前 selectionEnd 值(用户当前选择的结束位置)。

selectMode 可选

定义文本替换后如何设置选择的字符串。可能的值

  • "select" 选择新插入的文本。
  • "start" 将选择移到插入文本之前。
  • "end" 将选择移到插入文本之后。
  • "preserve" 尝试保留选择。这是默认值。

返回值

无 (undefined).

示例

单击此示例中的按钮以替换文本框中的部分文本。新插入的文本将在之后高亮显示(选中)。

HTML

html
<input
  type="text"
  id="text-box"
  size="30"
  value="This text has NOT been updated." />
<button onclick="selectText()">Update text</button>

JavaScript

js
function selectText() {
  const input = document.getElementById("text-box");
  input.focus();
  input.setRangeText("ALREADY", 14, 17, "select");
}

结果

规范

规范
HTML 标准
# dom-textarea/input-setrangetext-dev

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

参见