HTMLElement: dragstart event
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.
Thedragstart event is fired when the user starts dragging an element or text selection.
This event is cancelable and may bubble up to theDocument andWindow objects.
In this article
Syntax
Use the event name in methods likeaddEventListener(), or set an event handler property.
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 onlyThe 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 thedragstart event to make the element half transparent while dragged.
For a complete example of drag and drop, see the page for thedrag event.
HTML
<div> <div draggable="true">This div is draggable</div></div><div></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");});Result
Specifications
| Specification |
|---|
| HTML> # handler-ondragstart> |
| HTML> # event-dnd-dragstart> |