This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The dragstart event is fired when the user starts dragging an element or text selection.
This event is cancelable and may bubble up to the Document and Window objects.
Use the event name in methods like addEventListener(), or set an event handler property.
addEventListener("dragstart", (event) => { })
ondragstart = (event) => { }
A DragEvent. Inherits from Event.
In addition to the properties listed below, properties from the parent interface, Event, are available.
DragEvent.dataTransfer Read only
The data that is transferred during a drag-and-drop interaction.
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 dragged.
For a complete example of drag and drop, see the page for the drag event.
<div id="container"> <div id="draggable" draggable="true">This div is draggable</div> </div> <div class="dropzone"></div>
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;
}
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");
});
| Specification |
|---|
| HTML> # handler-ondragstart> |
| HTML> # event-dnd-dragstart> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
dragstart_event |
1 | 12 | 9 | 12 | 3.1 | 18 | 9 | 12 | 2 | 1.0 | 4.4 | 2 |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/dragstart_event