JSFiddle - React, Tailwind, and code Playground
HTML
<span id="editableContent" onclick="getCaret(this);" contenteditable=true>Hello, world<br> Good bye, World</span>
JavaScript
function getCaret(element) {
var caretOffset = 0;
if (typeof window.getSelection != "undefined") {
var range = window.getSelection().getRangeAt(0);
var preCaretRange = range.cloneRange();
preCaretRange.selectNodeContents(element);
preCaretRange.setEnd(range.endContainer, range.endOffset);
caretOffset = preCaretRange.toString().length;
} else if (typeof document.selection != "undefined" && document.selection.type != "Control") {
var textRange = document.selection.createRange();
var preCaretTextRange = document.body.createTextRange();
preCaretTextRange.moveToElementText(element);
preCaretTextRange.setEndPoint("EndToEnd", textRange);
caretOffset = preCaretTextRange.text.length;
}
var elCont=element.innerHTML;
var truncCont=elCont.substr(0,caretOffset);
alert(truncCont);
}