---
title: DragEvent
slug: Web/API/DragEvent
tags:
- API
- DragEvent
- Reference
- drag and drop
translation_of: Web/API/DragEvent
---
{{APIRef("HTML Drag and Drop API")}}
The DragEvent
interface is a {{domxref("Event","DOM event")}} that represents a drag and drop interaction. The user initiates a drag by placing a pointer device (such as a mouse) on the touch surface and then dragging the pointer to a new location (such as another DOM element). Applications are free to interpret a drag and drop interaction in an application-specific way.
This interface inherits properties from {{domxref("MouseEvent")}} and {{domxref("Event")}}.
Properties
- {{domxref('DragEvent.dataTransfer')}} {{readonlyInline}}
- The data that is transferred during a drag and drop interaction.
Constructors
Although this interface has a constructor, it is not possible to create a useful DataTransfer object from script, since {{domxref("DataTransfer")}} objects have a processing and security model that is coordinated by the browser during drag-and-drops.
- {{domxref("DragEvent.DragEvent", "DragEvent()")}}
- Creates a synthetic and untrusted DragEvent.
Event types
- {{event('drag')}}
- This event is fired when an element or text selection is being dragged.
- {{event('dragend')}}
- This event is fired when a drag operation is being ended (by releasing a mouse button or hitting the escape key).
- {{event('dragenter')}}
- This event is fired when a dragged element or text selection enters a valid drop target.
- {{event('dragexit')}}
- This event is fired when an element is no longer the drag operation's immediate selection target.
- {{event('dragleave')}}
- This event is fired when a dragged element or text selection leaves a valid drop target.
- {{event('dragover')}}
- This event is fired continuously when an element or text selection is being dragged and the mouse pointer is over a valid drop target (every 50 ms WHEN mouse is not moving ELSE much faster between 5 ms (slow movement) and 1ms (fast movement) approximately. This firing pattern is different than {{Event("mouseover")}} ).
- {{event('dragstart')}}
- This event is fired when the user starts dragging an element or text selection.
- {{event('drop')}}
- This event is fired when an element or text selection is dropped on a valid drop target.
GlobalEventHandlers
- {{domxref('GlobalEventHandlers.ondrag')}}
- A {{domxref('GlobalEventHandlers','global event handler')}} for the {{event('drag')}} event.
- {{domxref('GlobalEventHandlers.ondragend')}}
- A {{domxref('GlobalEventHandlers','global event handler')}} for the {{event('dragend')}} event.
- {{domxref('GlobalEventHandlers.ondragenter')}}
- A {{domxref('GlobalEventHandlers','global event handler')}} for the {{event('dragenter')}} event.
- {{domxref('GlobalEventHandlers.ondragexit')}}
- A {{domxref('GlobalEventHandlers','global event handler')}} for the {{event('dragexit')}} event.
- {{domxref('GlobalEventHandlers.ondragleave')}}
- A {{domxref('GlobalEventHandlers','global event handler')}} for the {{event('dragleave')}} event.
- {{domxref('GlobalEventHandlers.ondragover')}}
- A {{domxref('GlobalEventHandlers','global event handler')}} for the {{event('dragover')}} event.
- {{domxref('GlobalEventHandlers.ondragstart')}}
- A {{domxref('GlobalEventHandlers','global event handler')}} for the {{event('dragstart')}} event.
- {{domxref('GlobalEventHandlers.ondrop')}}
- A {{domxref('GlobalEventHandlers','global event handler')}} for the {{event('drop')}} event.
Example
An Example of each property, constructor, event type and global event handlers is included in their respective reference page.
Specifications
Specification |
Status |
Comment |
{{SpecName("HTML WHATWG", "#dragevent", "DragEvent")}} |
{{Spec2("HTML WHATWG")}} |
|
{{SpecName("HTML5.1", "editing.html#the-dragevent-interface", "DragEvent")}} |
{{Spec2("HTML5.1")}} |
Initial definition |
Browser compatibility
{{Compat("api.DragEvent")}}
See also
{{page("/en-US/docs/Web/API/DataTransfer", "See also")}}