Es gibt wenige Fehler in Ihrem Code. Sie können Fehler in der Browserkonsole überprüfen.
Um Elemente über einem abfallbaren Bereich zu prüfen, sollten Sie den Ablegebereich in jeder Schleife und nicht nach jeder Schleife überprüfen. Wenn Sie die Maus bewegen, sollten Sie die Auswahl deaktivieren, damit der ausgewählte Text nicht blinkt.
Ich habe Ihren Code aktualisiert: Ссылка , kann dir helfen.
Ich würde wirklich empfehlen, einen Weg zu finden, um die jQuery-Benutzeroberfläche draggable
und droppable
Bibliotheken arbeiten für Sie. Dann wird die Frage,
Ähnlich wie dieses: Wie ziehe ich mehrere Elemente mit JavaScript oder jQuery? .
So können wir eine der Antworten aus dieser Frage auf Ihr Problem anwenden. Ich benutze das jQuery UI mehrfach ziehbare Plugin , das gesamte Skript davon finden Sie hier: jquery.ui.multidraggable-1.8.8.js .
Lassen Sie uns zuerst Ihren HTML-Code vereinfachen. Indem wir unsere ziehbaren und dropbaren divs in Elemente einfügen, müssen wir keine redundanten Stylings auf die Elemente anwenden. Stattdessen können wir das containing-Element verwenden, um
zu stylen Mit Hilfe des Plugins können wir multidraggable
auf jedem der Drag divs aufrufen. Und droppable
überall wo sie gelöscht werden können
Wir können das Aussehen mit Styling steuern. Als Beispiel machen wir alles, was Tropfen yellow
erhalten kann, alles, was Sie als red
fallen lassen und alles, was ein Element green
erhalten hat.
Hier sehen Sie ein Beispiel für das Styling in CSS
%Vor%Und wir werden steuern, wann diese Klassen mit JavaScript angewendet werden:
%Vor% Sie sollten die aktuell ausgewählten Elemente stylen. Das Skript wendet die Klasse ui-multidraggable
auf alle aktuell ausgewählten Elemente an. Das folgende CSS macht es dem Benutzer klar, dass seine Auswahl ausgewählt ist.
Schau dir diese Demo an. Halten Sie einfach Strg gedrückt, um mehrere divs auszuwählen und ziehen Sie dann alle gleichzeitig.
Es gab mehrere Fehler, die ich jetzt nicht auflisten werde, aber Sie können die alte Version mit der neuen vergleichen.
%Vor%In dieser Version sollte alles perfekt funktionieren (das ist ein Update). PS: Ich habe 1.7+ jQuery geändert, aber Sie können es leicht zurück zu & lt; 1.7 ändern. Außerdem benötigen Sie keine benutzerdefinierten Attribute, sondern stattdessen CSS-Klassen.
Tags und Links javascript jquery