Selection: modify() 方法
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"
移动。
注意: Firefox **不**实现 "sentence"
、"paragraph"
、"sentenceboundary"
、"paragraphboundary"
或 "documentboundary"
。WebKit 和 Blink 实现这些功能。
注意: 从 Firefox 5 开始,"word"
粒度不再包含以下空格,无论默认平台行为如何。这使得行为更加一致,并且使其与 WebKit 过去的行为方式相同,但不幸的是,他们最近改变了他们的行为。
返回值
无 (undefined
).
示例
此示例演示了修改选择的各种 granularity
选项。在示例中单击某个位置(可选地选择一些文本),然后单击按钮以扩展选择。
HTML
html
<p>
Click somewhere in this example. Then click the button below to expand the
selection. Watch what happens!
</p>
<p>
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore,
cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod
maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor
repellendus.
</p>
<label for="granularity">Granularity:</label>
<select id="granularity">
<option value="character">Character</option>
<option value="word">Word</option>
<option value="sentence">Sentence</option>
<option value="line">Line</option>
<option value="paragraph">Paragraph</option>
<option value="lineboundary">Line Boundary</option>
<option value="sentenceboundary">Sentence Boundary</option>
<option value="paragraphboundary">Paragraph Boundary</option>
<option value="documentboundary">Document Boundary</option>
</select>
<br /><br />
<button>Extend selection</button>
JavaScript
js
let select = document.querySelector("select");
let button = document.querySelector("button");
button.addEventListener("click", modify);
function modify() {
let selection = window.getSelection();
selection.modify("extend", "forward", select.value);
}
结果
规范
此方法不是任何规范的一部分。
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
Selection
,它所属的接口。