HTMLElement: dragstart event

The dragstart event is fired when the user starts dragging an element or text selection.

Bubbles Yes
Cancelable Yes
Default action Initiate the drag-and-drop operation.
Interface DragEvent
Event handler property ondragstart

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

<div id="container">
  <div id="draggable" draggable="true">
    This div is draggable
  </div>
</div>
<div class="dropzone"></div>

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: .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

No specification found

No specification data found for api.HTMLElement.dragstart_event.
Check for problems with this page or contribute a missing spec_url to mdn/browser-compat-data. Also make sure the specification is included in w3c/browser-specs.

Browser compatibility

No compatibility data found for api.HTMLElement.dragstart_event.
Check for problems with this page or contribute missing data to mdn/browser-compat-data.

See also