Back to Top

PHNETZ - Internetagentur

Marketing für Ihren Erfolg

Drag & Drop

Drag & Drop

 

Was ist Drag & Drop?

Drag & Drop (englisch drag and drop) ist ein Interaktionsmodell, bei dem ein Benutzer ein grafisches Element (z. B. ein Bild, eine Datei, ein Listeneintrag) per Maus‑ oder Touch‑Gesten „greift“, es über die Benutzeroberfläche bewegt und an einer definierten Ziel‑Zone „ablässt“. Der Vorgang löst in der Anwendung eine Aktion aus (z. B. Kopieren, Verschieben, Öffnen, Sortieren).

 

Kernkonzepte

Begriff
Bedeutung
Source (Ausgangspunkt)
Das Element, das gezogen wird.
Target (Ziel‑Zone)
Der Bereich, in dem das Element abgelegt wird.
DataTransfer‑Objekt
Transportiert die zu übertragenden Daten (MIME‑Typ, Text, Dateien).
Drag‑Events
dragstart, drag, dragenter, dragover, dragleave, drop, dragend.
Feedback
Visuelle Hinweise (Cursor‑Änderungen, Hervorhebung der Ziel‑Zone), um dem Nutzer den Vorgang zu verdeutlichen.
 

Erweiterte Anwendungsfälle

Anwendung
Beschreibung
Datei‑Upload per Drag & Drop
Nutzer können Dateien aus dem Dateisystem in eine Web‑App ziehen; das dataTransfer.files‑Array enthält die hochgeladenen Files.
WYSIWYG‑Editoren
Inhalte (Bilder, Absätze) lassen sich per Drag & Drop innerhalb des Editors neu anordnen.
Kanban‑Boards
Tasks werden zwischen Spalten (z. B. To‑Do, In Progress, Done) verschoben.
Bildbearbeitung
Elemente (Sticker, Textfelder) per Drag & Drop auf ein Canvas platzieren.
Desktop‑ähnliche Oberflächen
Windows‑Explorer‑ähnliche UI im Browser, wo Ordner und Dateien per Drag & Drop verschoben werden.

Bibliotheken und Frameworks (zur Vereinfachung)

Bibliothek
Besonderheiten
jQuery UIdraggable, droppable
Schnell einsetzbar, gut dokumentiert, aber leichtgewichtigere Alternativen sind verfügbar.
React‑DnD
Drag‑&‑Drop für React‑Komponenten, nutzt das HTML5‑API im Hintergrund.
SortableJS
Drag‑&‑Drop‑Sortierung von Listen, unterstützt Touch‑Geräte.
Interact.js
Gesten‑ und Drag‑&‑Drop‑Interaktionen, inkl. Resizing.
Vue.Draggable
Wrapper für SortableJS in Vue‑Projekten.

Barrierefreiheit (Accessibility)

  • Keyboard‑Support: Ergänzen Sie Tastatur‑Shortcuts (z. B. Space zum Aufheben, Enter zum Ablegen) und ARIA‑Attribute (aria-grabbed, aria-dropeffect).
  • Screen‑Reader‑Hinweise: Verwenden Sie aussagekräftige Beschreibungen (role="button" oder role="listitem").
  • Kontrast & Fokus: Ziel‑Zonen sollten farblich hervorgehoben sein und einen klaren Fokus‑Indikator besitzen.
 

Sicherheitshinweise

  • Validierung von Dateien: Beim Drop von Dateien immer MIME‑Typ und Größe prüfen, bevor sie hochgeladen werden.
  • Cross‑Site‑Scripting (XSS): Benutzereingaben, die per Drag & Drop in den DOM eingefügt werden, vorher escapen.
  • Same‑Origin‑Policy: Vermeiden Sie das Akzeptieren von Drag‑&‑Drop‑Daten von fremden Domains, wenn nicht ausdrücklich gewünscht.
 

Best‑Practice‑Checkliste

  1. Visuelles Feedback – Ziel‑Zonen bei dragover farblich hervorheben.
  2. Touch‑Support – Stellen Sie sicher, dass das Drag‑Verhalten auf Tablets/Smartphones funktioniert (Touch‑Events).
  3. Fallback‑Lösung – Bieten Sie bei nicht unterstützten Browsern eine klassische Upload‑Schaltfläche an.
  4. Performance – Vermeiden Sie teure DOM‑Manipulationen im drag‑Event (nur dragover & drop handeln).
  5. Barrierefreiheit – ARIA‑Attribute, Tastatur‑Bedienbarkeit und klare Anweisungen.