2016-11-24 165 views
2

所以,我有一个可供自己使用的div,它由Facebook的draft-js供电。我需要得到该div的插入符的可视位置,我实现了这个(在Firefox和Chrome其中工程):getBoundingClientRect在Safari中的顶部,左侧,右侧,底部返回0

const selection = window.getSelection && window.getSelection(); 
if (selection.rangeCount > 0) { 
    const coordinates = selection.getRangeAt(0).getBoundingClientRect(); 
} 

我得到正确的坐标,Chrome和Firefox的情况下。但是,在Firefox中,所有位置属性都为0。任何解决方法/跨浏览器解决方案?

回答

0

好像我已经固定使用一个代码的问题:

let range = window.getSelection().getRangeAt(0); 
range = range.cloneRange(); 
range.setStart(range.startContainer, 0); 
range.getBoundingClientRect(); 

这里是fiddle

相关问题