背景
我正在为思源笔记开发一款光标美化插件,通过隐藏原生光标并使用自定义 <div>
元素模拟光标效果。核心逻辑是通过 window.getSelection()
获取光标位置,但在处理空行时遇到定位失效问题。
问题
当光标位于空段落时,getBoundingClientRect()
返回零尺寸矩形
当前
private getCursorRect(): DOMRect | null {
const selection = window.getSelection();
if (!selection?.rangeCount) return null;
try {
return selection.getRangeAt(0).getBoundingClientRect();
} catch (error) {
console.debug("获取光标位置失败", error);
return null;
}
}
求教
请问各位有比较好的方法来获取空行时的光标位置吗?
DeepSeek 说有一个 caretPositionFromPoint
方法,这个能更好地实现我想要的效果吗?