HTMLElement: dragstart event
The dragstart event is fired when the user starts dragging an element or text selection.
Syntax
Use the event name in methods like addEventListener(), or set an event handler property.
js
addEventListener("dragstart", (event) => {});
ondragstart = (event) => {};
Event type
Event properties
In addition to the properties listed below, properties from the parent interface, Event, are available.
DragEvent.dataTransferRead only-
The data that is transferred during a drag and drop interaction.
Examples
Setting opacity on drag start
In this example, we have a draggable element inside a container. Try grabbing the element, dragging it, and then releasing it.
We listen for the dragstart event to make the element half transparent while it is being dragged.
For a more complete example of drag and drop, see the page for the drag event.
HTML
html
<div id="container">
<div id="draggable" draggable="true">This div is draggable</div>
</div>
<div class="dropzone"></div>
CSS
css
body {
/* Prevent the user 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
js
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");
});
Result
Specifications
| Specification |
|---|
| HTML Standard # ix-handler-ondragstart |
| HTML Standard # event-dnd-dragstart |
Browser compatibility
BCD tables only load in the browser