JSFiddle - React, Tailwind, and code Playground

HTML

<script type='text/javascript' src='http://rangy.googlecode.com/svn/trunk/currentrelease/rangy-core.js'></script>
    
<div contenteditable="true">
    "Hello "
    <button id='btn' contenteditable="false" data-id="147">@John Smith</button>aaa <b>bbb</b> ccc
</div>
result:
<div id='result'>
    
</div>

JavaScript

$(document).ready(function() {
    
    
    rangy.init();
    
    setInterval(function() {
        var r = rangy.getSelection().getRangeAt(0);
        var prev = r.startContainer.previousSibling;
        if(prev !== null) {
           $("#result").html($(prev).html());             
            //delete it
           //$(prev).remove(); 
        }
    },1000);
});