JSFiddle - React, Tailwind, and code Playground

HTML

<div id="parentElement">
    <div id="editable" contenteditable="true">
        <table><tr><td id='table'>Hello</td></tr></table>
        <em>Bolded</em>
        <span style='text-decoration:underline;' id='undy'>Underline</span>
    </div>
</div>
<br/>
<div id='info' style='border:2px solid red;padding:5px'>Not active...</div>

JavaScript

var callback = function(e){
    var info = document.getElementById('info'), par = null;
    if (e.type == 'click')
        par = e.target;
    else if (e.type == 'keyup'){        
        if (document.selection)
            par = document.selection.createRange().parentElement();
        else if (window.getSelection){
            var range = window.getSelection().getRangeAt(0);
            par = range.commonAncestorContainer.parentNode;
        }
    }
    info.innerHTML = par.nodeName;
}
var ww = document.getElementById('editable');
ww.onclick = callback;
ww.onkeyup = callback;