Selection: rangeCount 属性

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

Selection.rangeCount 只读属性返回选区中的范围(range)的数量。

在用户点击刚加载的页面之前,rangeCount0。用户点击页面后,rangeCount1,即使没有可见的选区。

用户通常一次只能选择一个范围,因此 rangeCount 通常为 1。可以通过脚本使选区包含多个范围。

Gecko 浏览器允许跨表格单元格进行多重选择。Firefox 允许用户通过按住 Ctrl 键(除非点击发生在具有 display: table-cell CSS 属性的元素内)来选择文档中的多个范围。

一个数字。

示例

下面的示例将每秒显示 rangeCount。在浏览器中选择文本即可看到其变化。

HTML

html
<table>
  <tr>
    <td>a.1</td>
    <td>a.2</td>
  </tr>
  <tr>
    <td>b.1</td>
    <td>b.2</td>
  </tr>
  <tr>
    <td>c.1</td>
    <td>c.2</td>
  </tr>
</table>

JavaScript

js
setInterval(() => {
  console.log(window.getSelection().rangeCount);
}, 1000);

结果

打开您的控制台,查看选区中有多少个范围。在 Gecko 浏览器中,您可以通过按住 Ctrl 键(macOS 上为 Cmd 键)并用鼠标拖动来跨表格单元格选择多个范围。

规范

规范
Selection API
# dom-selection-rangecount

浏览器兼容性

另见