EditContext: updateControlBounds() 方法
EditContext.updateControlBounds()
方法是 EditContext
接口的一部分,用于通知操作系统 EditContext
对象的可编辑文本区域的位置和大小。
调用此方法以告知操作系统当前可编辑区域的边界。你应该在初始化 EditContext 时调用它,以及每当可编辑区域的边界发生变化时,例如当网页大小发生变化时。这些边界用于定位平台特定的编辑相关 UI 表面,例如 输入法编辑器 (IME) 窗口。
语法
js
updateControlBounds(controlBounds)
参数
controlBounds
-
一个
DOMRect
对象,表示新的控制边界。
异常
- 如果未提供任何参数,则会抛出
TypeError
DOMException
。 - 如果提供的参数不是
DOMRect
,则会抛出TypeError
DOMException
。
示例
在编辑器初始化和窗口大小调整时更新控制边界
此示例展示了如何使用 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 表格仅在浏览器中加载
另请参阅
- 它所属的
EditContext
接口。