export const getCursorPosition = textarea => {
let rangeData = { text: '', start: 0, end: 0 }
if (textarea.setSelectionRange) {
rangeData.start = textarea.selectionStart
rangeData.end = textarea.selectionEnd
rangeData.text = rangeData.start != rangeData.end ? textarea.value.substring(rangeData.start, rangeData.end) : ''
} else if (document.selection) {
let i,
oS = document.selection.createRange(),
oR = document.body.createTextRange()
oR.moveToElementText(textarea)
rangeData.text = oS.text
rangeData.bookmark = oS.getBookmark()
for (i = 0; oR.compareEndPoints('StartToStart', oS) < 0 && oS.moveStart('character', -1) !== 0; i++) {
if (textarea.value.charAt(i) == '\n') {
i++
}
}
rangeData.start = i
rangeData.end = rangeData.text.length + rangeData.start
}
return rangeData
}
var a = document.getElementById('test')
a.addEventListener('click', (e)=>{
console.log(getCursorPosition(a))
})