Ich erstelle eine Zeitplan-Tabelle in HTML und Javascript. Eine unfriedliche Geige ist hier: https://jsfiddle.net/tobyla/6xa225gx/html5 Drag & Drop - unerwünschte JavaScript-Schleife
Der Benutzer ist in der Lage, Arbeiter zu verschiedenen Rollen innerhalb der gleichen 'Day' Spalte zu ziehen. Ein Teil der Anforderung besteht darin, dass der Benutzer abwesende Arbeiter in die Abwesenheitsspalte ziehen kann, wo sie angezeigt werden können. (Es kann mehr als einen für jeden gegebenen Tag geben).
Das Problem ist, dass für jede zusätzliche Arbeitskraft zu der Säule gegeben, die JavaScript mehr und mehr mal Schleifen, die neuen Namen mehrfach hinzugefügt wird.
das Problem scheint sich um diesen Code verwurzelt zu sein:
else if (draggedItem != this && targetThisDay == thisDay && targetShiftPattern == "absentees") { //MH - swap if we're not dragging the item onto itself
copy = "<tr>" + $(this).clone(true,true) + "</tr>";
$(this).after($(draggedItem).clone(true,true));
$(draggedItem).replaceWith('<td class="dnd" draggable="true" data-dayoftheweek="monday" data-skillSet="skill2"> </td>');
$(draggedItem).on("drop", handleDrop);
alert('absenteeism');
runIndex();
}
Jede Hilfe viel appreciated- Danke Jungs sein würde!
Dank für die schnelle Antwort, aber Ihre Geige läuft in ein ähnliches Problem, das ich hatte - ich laufe runIndex wieder den Zellen durch den Umzug in Abwesenheit leer ermöglichen links wieder zu bevölkern. Wie es aussieht, funktioniert das Versuchen, gültige Ersetzungen in diese Lücken zu ziehen, nicht. – toby
In diesem Fall sollten Sie eine Ereignisdelegierungslösung im Vergleich zur direkten Bindung, die Sie gerade durchführen, ernsthaft in Betracht ziehen. –
danke Andre - Ich werde einen Blick auf Event Delegation werfen. – toby