HTMLElement: dragstart-Ereignis
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Das dragstart
-Ereignis wird ausgelöst, wenn der Benutzer beginnt, ein Element oder eine Textauswahl zu ziehen.
Dieses Ereignis ist abbruchfähig und kann zum Document
- und Window
-Objekt hochblubbern.
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("dragstart", (event) => { })
ondragstart = (event) => { }
Ereignistyp
Ereigniseigenschaften
Zusätzlich zu den unten aufgeführten Eigenschaften sind Eigenschaften der Elternschnittstelle, Event
, verfügbar.
DragEvent.dataTransfer
Schreibgeschützt-
Die Daten, die während einer Drag-and-Drop-Interaktion übertragen werden.
Beispiele
Transparenz beim Start des Ziehens festlegen
In diesem Beispiel haben wir ein ziehbares Element innerhalb eines Containers. Versuchen Sie, das Element zu greifen, zu ziehen und dann loszulassen.
Wir hören das dragstart
-Ereignis ab, um das Element während des Ziehens halb transparent zu machen.
Für ein vollständiges Beispiel zum Ziehen und Ablegen siehe die Seite für das drag
-Ereignis.
HTML
<div id="container">
<div id="draggable" draggable="true">This div is draggable</div>
</div>
<div class="dropzone"></div>
CSS
body {
/* Prevent the user from selecting text in the example */
user-select: none;
}
#draggable {
text-align: center;
background: white;
}
#container {
width: 200px;
height: 20px;
background: blueviolet;
padding: 10px;
}
.dragging {
opacity: 0.5;
}
JavaScript
const source = document.getElementById("draggable");
source.addEventListener("dragstart", (event) => {
// make it half transparent
event.target.classList.add("dragging");
});
source.addEventListener("dragend", (event) => {
// reset the transparency
event.target.classList.remove("dragging");
});
Ergebnis
Spezifikationen
Specification |
---|
HTML # ix-handler-ondragstart |
HTML # event-dnd-dragstart |