2016-11-24 119 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

相關問題