可编辑元素获取光标位置异常

在一个可编辑元素中,每次输入字符我都会打印当前光标的位置,比如:

$target.addEventListener('keydown', () => {
    const selection = window.getSelection();
    const range = selection.getRangeAt(0);
    console.log(range.getBoundingClientRect());
})

但每次输入第一个字符所得到的信息都是 DOMRect {x: 0, y: 0, width: 0, height: 0, top: 0, …},之后的位置信息都是正确的比如 DOMRect {x: 517.390625, y: 208.09375, width: 0.015625, height: 19, top: 208.09375, …},这是为什么?

阅读 558
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题