Es ist nicht möglich, ein Element beim mouseup-Ereignis zu löschen

8

Hier ist der jQuery-Code, den ich geschrieben habe, um mehrere Elemente gleichzeitig zu ziehen. Es ist jetzt ziehbar, aber nicht abwerfbar.

Hier ist der Code

%Vor%

Was ist das Pronblem mit meinem Code und wie kann ich das erreichen? Hier ist die Geige Ссылка

    
Exception 14.09.2013, 06:20
quelle

3 Antworten

1

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.

%Vor%

Ich habe Ihren Code aktualisiert: Ссылка , kann dir helfen.

    
iamght 24.09.2013, 03:06
quelle
2

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

HTML

%Vor%

Mit Hilfe des Plugins können wir multidraggable auf jedem der Drag divs aufrufen. Und droppable überall wo sie gelöscht werden können

JavaScript

%Vor%

Anpassen

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%

Mehrfach-Draggable

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.

%Vor%

Schau dir diese Demo an. Halten Sie einfach Strg gedrückt, um mehrere divs auszuwählen und ziehen Sie dann alle gleichzeitig.

jsFiddle

    
KyleMit 23.09.2013 17:18
quelle
1

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.

    
Balint Bako 14.09.2013 07:39
quelle

Tags und Links