W3cubDocs

/Web APIs

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

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
dragstart_event 1 12 9 9 12 3.1 4.4 18 9 12 2 1.0

See also

© 2005–2023 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