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;