EditContext: updateControlBounds() 方法

有限可用性

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

实验性: 这是一个 实验性技术
在生产环境中使用之前,请仔细查看 浏览器兼容性表

EditContext.updateControlBounds() 方法是 EditContext 接口的一部分,用于通知操作系统 EditContext 对象的可编辑文本区域的位置和大小。

调用此方法以告知操作系统当前可编辑区域的边界。你应该在初始化 EditContext 时调用它,以及每当可编辑区域的边界发生变化时,例如当网页大小发生变化时。这些边界用于定位平台特定的编辑相关 UI 表面,例如 输入法编辑器 (IME) 窗口。

语法

js
updateControlBounds(controlBounds)

参数

controlBounds

一个 DOMRect 对象,表示新的控制边界。

异常

示例

在编辑器初始化和窗口大小调整时更新控制边界

此示例展示了如何使用 updateControlBounds() 方法来告诉平台可编辑区域始终位于何处。

css
#editor {
  border: 1px solid black;
  height: 50vw;
  width: 50vh;
}
html
<div id="editor"></div>
js
const editorEl = document.getElementById("editor");
const editContext = new EditContext();
editorEl.editContext = editContext;

function updateControlBounds() {
  const editorBounds = editorEl.getBoundingClientRect();
  editContext.updateControlBounds(editorBounds);
  console.log(
    `Updated control bounds to ${editorBounds.x}, ${editorBounds.y}, ${editorBounds.width}, ${editorBounds.height}`,
  );
}

// Update the control bounds now.
updateControlBounds();
// And when the page is resized.
window.addEventListener("resize", updateControlBounds);

规范

规范
EditContext API
# dom-editcontext-updatecontrolbounds

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅