In JavaScript how do I place the caret in a new element inserted in a contenteditable?

22 Views Asked by At

I am inserting a new list item element into a list when the user presses enter from within one of the existing li's:

$('#thread-content').on('keypress', function(e) {
    if(e.which==13){
        e.preventDefault();
        var sel = window.getSelection();
        var range = sel.getRangeAt(0);
        var element = range.startContainer.parentNode.nodeName;

        if (element == "LI") {
            $('<li id="temp"></li>').insertAfter(range.startContainer.parentNode);
        } else {
            document.execCommand('insertHTML', false, '<br><br>');
        }
    }
});

How do I place the caret inside this new element $('#temp') so the user can immediately begin typing?

0

There are 0 best solutions below