Genau das habe ich eigentlich in meinem Beispiel realisiert, guck es einfach nochmal nach. Aus dem Quellbereich kann man die Elemente clonen, innerhalb der anderen divs werden die Elemente nur verschoben.
Stimmt, hast du.
Nun ich hab das versucht mal anzuapssen auf meine Variante, hier der entsprechende Code
<table class="planning"><tr></tr>
<tr>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
</tr>
<tr>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
<td class="planning" ondrop="drop(event)" ondragover="allowDrop(event)"></td>
</tr>
</table>
<table class="legend">
<tr>
<td>
<div id="drag1" onkeydown="deldiv()" draggable="true" class="activity" ondragstart="drag(event)">FO</div>
</td>
</tr>
</table>
function drop(ev)
{
ev.preventDefault();
ziel = ev.target.getElementsByClassName('div');
if(ev.target.tagName == "TD" && ziel.length == 0) {
data=ev.dataTransfer.getData("Text");
quellElement = document.getElementById(data);
zieltd = quellElement.parentNode;
if(zieltd.classList[0] != "planning") {
Elementneu = quellElement.cloneNode(true);
newId = Elementneu.id.substring(3);
newId++;
Elementneu.id = "quellElement"+newId;
zieltd.appendChild(Elementneu);
}
ev.target.appendChild(quellElement);
}
}
bei mir allerdings funktioniert das nicht so ganz, das verschieben geht einwandfrei aber sobald ich versuche zum dritten mal ein siv in die Tabelle zu ziehen verschiebt er nur das jeweils letzte, bei deinem Beispiel funktioniert das allerdings reibungslos, was hab ich falsch gemacht?