Помогите завершить код. При замене текста в contenteditable курсор встает в начало

Есть div contenteditable. Когда ввожу в него ссылку то она становится активна, все работает, но только вот курсор каждый раз в начало стает.Как от этого избавится?

$('#data').keydown(function(e) {


        $(this).html($(this).html().replace(/<a\s+[^<]*?>[^<]*<\/a>|((?:https?:\/\/)?(?:www\.)?([-a-zA-Z0-9@:%._+~#=]{2,256}\.(?!gif|png|jpg)[a-z]{2,6}\b)[-a-zA-Z0-9@:%_+.~#?&\/=]*)/ig, function($0, $1) {
    	    return $1 ? '<a href="' + $1 + '">' + $1 + '</a>' : $0;
        }));
        
        // Дополнил так, теперь курсор в конце но не возможно поставить его в другое место и что то написать
        
                const div = $('#data').get(0);
        const range = document.createRange();
        range.selectNodeContents(div);
        range.collapse(false);
        const sel = window.getSelection();
        sel.removeAllRanges();
        sel.addRange(range);

    });
#data {
border:1px solid #000;
padding:10px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div contenteditable="true" id="data" type="text"></div>


Ответы (0 шт):