概述
EditContext 为自定义可编辑控件提供低级接口,处理选区、文本与合成事件,改善与 IME 的协作。适用于画布编辑器与富文本组件。
用法/示例
const ec = new EditContext()
ec.updateSelection(0, 0)
ec.addEventListener('textupdate', e => {
// e.text, e.selectionStart, e.selectionEnd
})
工程建议
- 在不支持环境回退到
contenteditable与原生输入控件;使用 beforeinput/IME 事件协作。 - 管理选区与撤销栈,记录操作用于可访问性与恢复。
- 对复杂脚本与方向性文本进行专项测试,保证正确性。
参考与验证
- Chrome Docs:EditContext — https://developer.chrome.com/docs/web-platform/edit-context
- WICG:EditContext — https://github.com/WICG/edit-context

发表评论 取消回复