Range:isPointInRange() 方法

Baseline 已广泛支持

该特性已非常成熟,可在多种设备和浏览器版本上使用。自 2017 年 4 月以来,它已在各大浏览器上可用。

Range 接口的 isPointInRange() 方法用于确定指定点是否在 Range 内。该点由一个参考节点和一个在该节点内的偏移量指定。它等同于调用 Range.comparePoint() 并检查其返回值是否为 0

语法

js
isPointInRange(referenceNode, offset)

参数

referenceNode

offset 是相对于的 Node

offset

一个大于或等于零的整数,描述了要检查的点的 referenceNode 内的位置。如果 referenceNodeTextCommentCDATASection 类型的 Node,则 offset 是从 referenceNode 开始的字符数。对于其他 Node 类型,offset 是从 referenceNode 开始的子节点数。

返回值

布尔值。

示例

js
const text = new Text("0123456789");

const thisRange = new Range();
thisRange.setStart(text, 1);
thisRange.setEnd(text, 6);

thisRange.isPointInRange(text, 3); // true
thisRange.isPointInRange(text, 0); // false
thisRange.isPointInRange(text, 6); // true
thisRange.isPointInRange(text, 7); // false

规范

规范
DOM
# dom-range-ispointinrange

浏览器兼容性

另见