ondropEreignis
Beispiel
JavaScript ausführen, wenn ein ziehbares Element in ein <div>-Element platziert wird:
Selbst ausprobieren »
Weitere Beispiele finden Sie am Ende dieses Artikels.
Definition und Verwendung
Das ondrop-Ereignis wird ausgelöst, wenn ein ziehbares Element oder ausgewählter Text auf dem Zielbereich abgelegt wird.
Drag and Drop ist eine sehr verbreitete Funktion in HTML5. Weitere Informationen finden Sie in unserem HTML-Tutorial zuHTML5 Drag and Drop。
Hinweis:Um ein Element ziehbar zu machen, müssen Sie das HTML5draggabledraggable-Attribut verwenden.
Tipp:Links und Bilder sind standardmäßig ziehbar und benötigen nicht das draggable-Attribut.
Die folgenden Ereignisse werden während des Drag-and-Drop-Vorgangs ausgelöst:
-
Ereignisse, die auf dem Drag-Ziel ausgelöst werden(Quellelement):
- ondragstart- Wird ausgelöst, wenn der Benutzer beginnt, ein Element zu ziehen
- ondrag- Wird ausgelöst, während ein Element gezogen wird
- ondragend- Emissed quande li usator fini traer un element
-
Ereignisse, die auf dem Drop-Ziel ausgelöst werden:
- ondragenter- Ti eveniment es emisset quande li traet objecte entra in li range de su contenitor
- ondragover- Ti eveniment es emisset quande un traet objecte es traet intra li range del contenitor de un altri objecte
- ondragleave- Ti eveniment es emisset quande li traet objecte forlassa li range de su contenitor
- ondrop - Ti eveniment es emisset quande li button de mus es liberat durant un operation de traer
Browser-Unterstützung
Nota:Durante que on trae un element, li eveniment ondragover es emisset chascun 350 millisecondes.
| Ereignis | |||||
|---|---|---|---|---|---|
| ondrop | 4.0 | 9.0 | 3.5 | 6.0 | 12.0 |
Syntax
In HTML:
In JavaScript:
In JavaScript unter Verwendung der addEventListener()-Methode:
Hinweis:Internet Explorer 8 und frühere IE-Versionen unterstützen dieaddEventListener()Methode nicht.
Technische Details
| Blubbert: | Ja |
|---|---|
| Abbrechbar: | Ja |
| Ereignistyp: | DragEvent |
| Unterstützte HTML-Tags: | Alle HTML-Elemente |

Weitere Beispiele
Beispiel
Das folgende Beispiel demonstriert alle Drag-and-Drop-Ereignisse:
document.addEventListener("dragstart", function(event) {
//Die Methode dataTransfer.setData() legt den Datentyp und die gezogenen Daten fest
event.dataTransfer.setData("Text", event.target.id);
// Gibt etwas Text aus, wenn das p-Element gezogen wird
document.getElementById("demo").innerHTML = "Començat a traer li p element.";
// Changear li opacitá del traet element
event.target.style.opacity = "0.4";
});
// Die Farbe des Ausgabetexts ändern, während das p-Element gezogen wird
document.addEventListener("drag", function(event) {
document.getElementById("demo").style.color = "red";
});
// Wenn das p-Element gezogen wurde, etwas Text ausgeben und die Deckkraft zurücksetzen
document.addEventListener("dragend", function(event) {
document.getElementById("demo").innerHTML = "Das Ziehen des p-Elements wurde beendet";
event.target.style.opacity = "1";
});
/* Wird ausgelöst, nachdem der Drag-Vorgang abgeschlossen ist */
// Quande li p element es traet in droptarget, changear li stile de bord del div
document.addEventListener("dragenter", function(event) {
if ( event.target.className == "droptarget" ) {
event.target.style.border = "3px dotted red";
}
});
// Standardmäßig können Daten/Elemente nicht in andere Elemente abgelegt werden. Für das Ablegen müssen wir die Standardbehandlung des Elements verhindern
document.addEventListener("dragover", function(event) {
event.preventDefault();
});
// Wenn das ziehbare p-Element droptarget verlässt, setze den Rahmenstil des div zurück
document.addEventListener("dragleave", function(event) {
if ( event.target.className == "droptarget" ) {
event.target.style.border = "";
}
});
/* Beim Drop: Verhindern Sie die Standardbehandlung von Daten durch den Browser (Links werden standardmäßig beim Drop geöffnet)
Farbe des Ausgabetexts und Rahmenfarbe des DIV zurücksetzen
Verwenden Sie die Methode dataTransfer.getData(), um die gezogenen Daten abzurufen
Die ID des gezogenen Datenelements ("drag1")
Das gezogene Element an das Drop-Element anhängen*/
document.addEventListener("drop", function(event) {
event.preventDefault();
if ( event.target.className == "droptarget" ) {
document.getElementById("demo").style.color = "";
event.target.style.border = "";
var data = event.dataTransfer.getData("Text");
event.target.appendChild(document.getElementById(data));
}
});
Selbst ausprobieren »
Verwandte
HTML-Tutorial:HTML5 Drag and Drop
HTML-Referenzhandbuch:HTML-Attribut draggable
Event-Objekt Weitere Erweiterungen