所以,我有一个由Facebook draft-js
提供支持的可信任的div。我需要在div中获得插入符号的视觉位置,并且我实现了它(在Firefox和Chrome中有效):
const selection = window.getSelection && window.getSelection();
if (selection.rangeCount > 0) {
const coordinates = selection.getRangeAt(0).getBoundingClientRect();
}
我在Chrome和Firefox的情况下获得了正确的坐标。但是,在Firefox中,我获得了所有位置属性的0。任何解决方法/跨浏览器解决方案?
答案 0 :(得分:2)
似乎我已经使用下一个代码解决了问题:
let range = window.getSelection().getRangeAt(0);
range = range.cloneRange();
range.setStart(range.startContainer, 0);
range.getBoundingClientRect();
这是fiddle。