ondragenterEreignis

事件对象参考手册Event-Objekt

Beispiele

JavaScript ausführen, wenn ein gezogenes Element in ein Drop-Ziel eintritt:

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

Selbst ausprobieren »

Weitere Beispiele finden Sie am Ende dieses Artikels.


Definition und Verwendung

Das ondragenter-Ereignis wird ausgelöst, wenn ein gezogenes Element oder ausgewählter Text in ein gültiges Drop-Ziel eintritt.

Die Ereignisse ondragenter und ondragleave können Benutzern helfen, den Vorgang besser zu verstehen, bei dem ein ziehbares Element einen Drop-Bereich betritt und verlässt. Sie können unterschiedliche Hintergrundfarben festlegen, wenn ein ziehbares Element einen Drop-Bereich betritt und verlässt.

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, 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- Wird ausgelöst, wenn der Benutzer beginnt, ein Element zu ziehen
    • ondrag- Wird ausgelöst, wenn ein Element gezogen wird
    • ondragend- Wird ausgelöst, wenn der Benutzer das Ziehen des Elements abschließt

  • Ereignisse, die auf dem Drop-Ziel ausgelöst werden:
    • ondragenter - Dieses Ereignis wird ausgelöst, wenn ein mit der Maus gezogenes Objekt den Bereich seines Containers betritt
    • ondragover- Dieses Ereignis wird ausgelöst, wenn ein gezogenes Objekt innerhalb des Containerbereichs eines anderen Objekts gezogen wird
    • ondragleave- Dieses Ereignis wird ausgelöst, wenn ein mit der Maus gezogenes Objekt den Bereich seines Containers verlässt
    • ondrop– Dieses Ereignis 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 das Ereignis vollständig unterstützt.

Ereignis
ondragenter 4.0 9.0 3.5 6.0 12.0


Syntax

In HTML:

<element ondragenter="myScript">Selbst ausprobieren

In JavaScript:

object.ondragenter=function(){myScript};Selbst ausprobieren

In JavaScript unter Verwendung der addEventListener()-Methode:

object.addEventListener("dragenter", myScript);Selbst ausprobieren

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


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


Examples

Weitere Beispiele

Beispiel

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

/* Wird beim Ziehen 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 = "Beginnen Sie, das p-Element zu ziehen.";
// Die Deckkraft des gezogenen Elements ändern
    event.target.style.opacity = "0.4";
});
// Ändern Sie die Farbe des Ausgabetexts, während das p-Element gezogen wird
document.addEventListener("drag", function(event) {
    document.getElementById("demo").style.color = "red";
});
// Wenn das p-Element gezogen wird, geben Sie etwas Text aus und setzen Sie die Deckkraft zurück
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 */
// Wenn das p-Element in das droptarget gezogen wird, ä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. Für das Ablegen müssen wir die Standardbehandlung 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 = "";
    }
});
/* 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-Referenz:HTML-draggable-Attribut


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