此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。

View in English Always switch to English

Selection.modify()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨2020年1月⁩.

非标准: 该特性尚未标准化。我们不建议在生产环境中使用非标准特性,因为它们在浏览器中的支持有限,且可能发生变化或被移除。不过,在没有标准选项的特定情况下,它们可以作为合适的替代方案。

Selection.modify() 方法可以通过简单的文本命令来改变当前选区或光标位置。

语法

js
modify(alter, direction, granularity)

参数

alter

改变类型。传入 "move" 来移动光标位置,或者 "extend" 来扩展当前选区。

direction

调整选区的方向。你可以传入 "forward""backward" 来根据选区内容的语言书写方向来调整。或者使用 "left""right" 来指明一个明确的调整方向。

granularity

调整的距离颗粒度。可选值有 "character""word""sentence""line""paragraph""lineboundary""sentenceboundary""paragraphboundary""documentboundary"

备注: Gecko 不支持 "sentence", "paragraph", "sentenceboundary", "paragraphboundary""documentboundary". Webkit 和 Blink 支持。

备注: 从 Gecko 5.0 开始,不管是不是浏览器的默认行为,"word" 颗粒度不再包括单词后面的空格。这让这个行为变得更加稳定,这也和之前的 Webkit 保持一致,然而不幸的是他们最近修改了这个默认行为。

示例

使当前选区往语言书写方向扩大一个单词(word)的选择范围

js
var selection = window.getSelection();
selection.modify("extend", "forward", "word");

规范

无。

浏览器兼容性

参见