I'm trying to set some emoji into a contenteditable div by using the javascript range. But after I insert the new emoji node, the caret is set before the new emoji and not after. I tried the follow solution:
Inserting caret after an inserted node
but no luck, here below is the code I'm using:
var sel, rng;
if (window.getSelection) {
rng = document.createRange();
sel = window.getSelection();
if (sel.getRangeAt && sel.rangeCount) {
console.log(sel);
rng = sel.getRangeAt(0);
rng.deleteContents();
rng.insertNode( curemji );
rng.setStartAfter(curemji);
rng.collapse(false);
sel.removeAllRanges();
sel.addRange(rng);
}
} else if (document.selection && document.selection.createRange) {
document.selection.createRange().text = emoji;
}
can someone please help to understand what I'm doing wrong?