How to get caret offset with HTML tags in contenteditable DOM? In Plunker i'm getting offset without HTML tags. The main idea it, insert special text, where i want.
function getCaretCharacterOffsetWithin(element) {
var caretOffset = 0;
try {
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;
}
} catch (e) {
}
return caretOffset;
}
UPD: Yes, my question may have similar, that already exist in stackoverflow, but with some small differences
UPD2: Problem is solved. Work example here