JSFiddle - React, Tailwind, and code Playground

HTML

<html>
    <body>
        <div id='div' contenteditable='true'>Paste here</div>
    </body>
</html>

CSS

#div {
    height: 200px;
    width: 300px;
    border: 1px solid #ccc;
}

JavaScript

function handlepaste (elem, e) {
    var savedcontent = elem.innerHTML;
    alert(savedcontent);
    if (e && e.clipboardData && e.clipboardData.getData) {// Webkit - get data from clipboard, put into editdiv, cleanup, then cancel event
        if (/text\/html/.test(e.clipboardData.types)) {
            elem.innerHTML = e.clipboardData.getData('text/html');
        }
        else if (/text\/plain/.test(e.clipboardData.types)) {
            elem.innerHTML = e.clipboardData.getData('text/plain');
        }
        else {
            elem.innerHTML = "";
        }
        waitforpastedata(elem, savedcontent);
        if (e.preventDefault) {
                e.stopPropagation();
                e.preventDefault();
        }
        return false;
    }
    else {// Everything else - empty editdiv and allow browser to paste content into it, then cleanup
        elem.innerHTML = "";
        waitforpastedata(elem, savedcontent);
        return true;
    }
}

function waitforpastedata (elem, savedcontent) {
    if (elem.childNodes && elem.childNodes.length > 0) {
        processpaste(elem, savedcontent);
    }
    else {
        that = {
            e: elem,
            s: savedcontent
        }
        that.callself = function () {
            waitforpastedata(that.e, that.s)
        }
        setTimeout(that.callself,20);
    }
}

function processpaste (elem, savedcontent) {
    pasteddata = elem.innerHTML;
    //^^Alternatively loop through dom (elem.childNodes or elem.getElementsByTagName) here
    
    elem.innerHTML = savedcontent;
    
    // Do whatever with gathered data;
    alert(pasteddata);
}

function addEvent (elem, eventType, handle)
        {
            //alert(handle);
            if (elem.addEventListener !== undefined)
                {
                elem.addEventListener(eventType, handle, false);
            }
            else
            {
                elem.attachEvent("on" + eventType, handle);
            }
       ...