Нашел какой то ИЕ (выглядит как ИЕ, но не говорит, какой он)
По крайней мере всякие модули ES-6 он не понимает.
В нем это работает
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" lang="ru">
<meta name="viewport" content="width=device-width, initial-scale=1.0" >
<style>
#div1,#div2, #div11, #div22 {
width:100px;
height:50px;
padding:10px;
background-color:yellow;
display: inline-table;
font-size:2rem;
}
#div2 {
background-color:pink;
}
</style>
</head>
<body id="body" >
<div id="div1" ondrop="drag1(event)" ondragover="allowDrop(event)">
<div id="box1" draggable="true" ondragstart="drag1(event)" >первый
</div>
</div>
<div id="div2" ondrop="drag2(event)" ondragover="allowDrop(event)">
<span id="box2" draggable="true" ondragstart="drag2(event)">второй
</span>
</div>
<div id="div11" class="drag1" ondrop="drop1(event)" ondragover="allowDrop(event)">I
</div>
<div id="div22" class="drag2" ondrop="drop2(event)" ondragover="allowDrop(event)">II
</div>
<script>
function allowDrop(allowdropevent) {
allowdropevent.target.style.color = 'blue';
allowdropevent.preventDefault();
}
function drag1(dragevent) {
dragevent.dataTransfer.setData("text", dragevent.target.id);
}
function drag2(dragevent) {
dragevent.dataTransfer.setData("text", dragevent.target.id);
}
function drop1(dropevent) {
dropevent.preventDefault();
var data = dropevent.dataTransfer.getData("text");
if (data && event.target.className == "drag1")
{dropevent.target.appendChild(document.getElementById(data));
}}
function drop2(dropevent) {
dropevent.preventDefault();
var data = dropevent.dataTransfer.getData("text");
if (data && event.target.className == "drag2")
{dropevent.target.appendChild(document.getElementById(data));
}}
</script>
</body>
</html>