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.dataTransfer
Read 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