CaretPosition: getClientRect() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

CaretPosition 接口的 getClientRect() 方法返回插入符范围的客户端矩形。

语法

js
getClientRect()

参数

无。

返回值

一个 DOMRect 对象。

示例

获取插入符的屏幕位置

html
<input aria-label="text field" value="Click inside this input field" />
js
document.querySelector("input").addEventListener("click", (event) => {
  const x = event.clientX;
  const y = event.clientY;

  const caret = document.caretPositionFromPoint?.(x, y);
  if (!caret) {
    log("Not supported");
    return;
  }

  const rect = caret.getClientRect();

  log(`Caret bounding rect: ${JSON.stringify(rect)}`);
  log(`Caret is at (${rect.x.toFixed(2)}, ${rect.y.toFixed(2)})`);
});

规范

规范
CSSOM 视图模块
# dom-caretposition-getclientrect

浏览器兼容性

另见