ondragleaveEreignis

事件对象参考手册Event-Objekt

Beispiel

JavaScript ausführen, wenn ein ziehbares Element das Ablegeziel verlässt:

<div ondragleave="myFunction(event)"></div>

Selbst ausprobieren »

Weitere Beispiele finden Sie am Ende dieses Artikels.


Definition und Verwendung

Das ondragleave-Ereignis wird ausgelöst, wenn ein ziehbares Element oder ausgewählter Text ein Ablegeziel verlässt.

Die Ereignisse ondragenter und ondragleave können Benutzern helfen, den Vorgang besser zu verstehen, wenn ein ziehbares Element in einen Ablegebereich eintritt und ihn wieder verlässt. Sie können unterschiedliche Hintergrundfarben festlegen, wenn das ziehbare Element den Ablegebereich betritt und verlässt.

Drag and Drop ist eine sehr verbreitete Funktion in HTML5. Weitere Informationen finden Sie im HTML-Tutorial:HTML5 Drag and Drop。

Hinweis:Um ein Element ziehbar zu machen, verwenden Sie das HTML5-draggable-Attribut.

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 an der Drag-Quelle ausgelöst werden(Quellelement):
    • ondragstart- Ausgelöst, wenn der Benutzer beginnt, ein Element zu ziehen
    • ondrag- Ausgelöst, während das Element gezogen wird
    • ondragend- Wird ausgelöst, nachdem der Benutzer das Ziehen des Elements abgeschlossen hat

  • Auf dem Drop-Ziel ausgelöste Ereignisse:
    • ondragenter- Wird ausgelöst, wenn das mit der Maus gezogene Objekt in den Bereich seines Containers eintritt
    • ondragover- Wird ausgelöst, wenn ein gezogenes Objekt innerhalb des Bereichs des Containers eines anderen Objekts gezogen wird
    • ondragleave - Wird ausgelöst, wenn das mit der Maus gezogene Objekt seinen Containerbereich verlässt
    • ondrop- Wird ausgelöst, wenn die Maustaste während eines Ziehvorgangs losgelassen wird

Browser-Unterstützung

Die Zahlen in der Tabelle geben die erste Browserversion an, die dieses Ereignis unterstützt.

Ereignis
ondragleave 4.0 9.0 3.5 6.0 12.0


Syntax

In HTML:

<element ondragleave="myScript">Probieren Sie es selbst

In JavaScript:

object.ondragleave=function(){myScript};Probieren Sie es selbst

In JavaScript unter Verwendung der addEventListener()-Methode:

object.addEventListener("dragleave", myScript);Probieren Sie es selbst

Hinweis:Internet Explorer 8 und frühere IE-Versionen unterstützen dieaddEventListener()Methode nicht.


Technische Details
Blubbert: Ja
Abbrechbar: No
Ereignistyp: DragEvent
Unterstützte HTML-Tags: Alle HTML-Elemente


Examples

Weitere Beispiele

Beispiel

Das folgende Beispiel demonstriert alle Drag-and-Drop-Ereignisse:

/* Wird während des Ziehens ausgelöst */
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 = "Das Ziehen des p-Elements wird gestartet.";
//Deckkraft des gezogenen Elements ändern
    event.target.style.opacity = "0.4";
});
//Während das p-Element gezogen wird, die Farbe des Ausgabetexts ändern
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 abgeschlossen.";
    event.target.style.opacity = "1";
});
/* Wird ausgelöst, nachdem das Ziehen abgeschlossen ist */
// Wenn das p-Element das Ziehen abgeschlossen hat und in droptarget eintritt, ändern Sie den Rahmenstil des 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. Zum Ablegen müssen wir das Standardverhalten des Elements verhindern.
document.addEventListener("dragover", function(event) {
    event.preventDefault();
});
// Wenn das ziehbare p-Element das droptarget verlässt, setzen Sie den Rahmenstil des div zurück
document.addEventListener("dragleave", function(event) {
    if ( event.target.className == "droptarget" ) {
        event.target.style.border = "";
    }
});
/* Für Drop: Verhindern Sie die Standardverarbeitung von Daten durch den Browser (Links werden standardmäßig bei 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 draggable-Attribut


事件对象参考手册Event-Objekt Weitere Erweiterungen