--- title: DragEvent slug: Web/API/DragEvent tags: - API - DragEvent - Referencia - arrastrar y soltar - drag and drop translation_of: Web/API/DragEvent ---
{{APIRef("HTML Drag and Drop API")}}

La interfaz DragEvent es un {{domxref("Event","evento DOM")}} que representa una interacción de arrastrar y soltar. El usuario inicia un arrastre posicionando un dispositivo puntero (como un ratón) en la superficie táctil y luego arrastra el puntero a una nueva posición (como como elemento del DOM). Las aplicaciones son libres de interpretar una interacción de arrastrar y soltar en una manera específica a la aplicación.

Esta interfaz hereda propiedades de {{domxref("MouseEvent")}} y {{domxref("Event")}}.

Propiedades

{{domxref('DragEvent.dataTransfer')}} {{readonlyInline}}
Los datos que son transferidos durante una interacción de arrastrar y soltar.

Constructores

A pesar que esta interfaz tiene un constructor, no es posible crear un objeto DataTransfer útil desde código, ya que los objetos {{domxref("DataTransfer")}} tienen un modelo de procesamiento y seguridad que está coordinado por el navegador durante el arrastrar y soltar.

{{domxref("DragEvent.DragEvent", "DragEvent()")}}
Crea un DragEvent sintético y que no es de confianza.

Tipos de eventos

{{event('drag')}}
Este evento es lanzado cuando un elemento o selección de texto está siendo arrastrado.
{{event('dragend')}}
Este evento es lanzado cuando la operación de arrastrar está siendo terminada (liberando el botón del ratón o pulsando la tecla de escape).
{{event('dragenter')}}
Este evento es lanzado cuando un elemento arrastrado ingresa a un destino de liberación válido.
{{event('dragexit')}}
Este evento es lanzado cuando un elemento ya no es el destino de selección inmediato de la operación de arrastre.
{{event('dragleave')}}
Este evento es lanzado cuando el elemento arrastrado o selección de texto deja un destino de liberación válido.
{{event('dragover')}}
Este evento es lanzado continuamente cuando un elemento o selección de texto está siendo arrastrado y el puntero del ratón está sobre un destino de liberación válido (cada 50 ms CUANDO el ratón no se está moviendo SINO más rápido entre 5 ms (movimiento lento) y 1 ms (movimiento rápido) aproximadamente. Este patrón de disparo es diferente que {{Event("mouseover")}}).
{{event('dragstart')}}
Este evento es lanzado cuando el usuario empieza a arrastrar un elemento o selección de texto.
{{event('drop')}}
Este evento es lanzado cuando un elemento o selección de texto es soltado en un destino válido.

GlobalEventHandlers

{{domxref('GlobalEventHandlers.ondrag')}}
Un {{domxref('GlobalEventHandlers','manejador de evento global')}} para el evento {{event('drag')}}.
{{domxref('GlobalEventHandlers.ondragend')}}
Un {{domxref('GlobalEventHandlers','manejador de evento global')}} para el evento {{event('dragend')}}.
{{domxref('GlobalEventHandlers.ondragenter')}}
Un {{domxref('GlobalEventHandlers','manejador de evento global')}} para el evento {{event('dragenter')}}.
{{domxref('GlobalEventHandlers.ondragexit')}}
Un {{domxref('GlobalEventHandlers','manejador de evento global')}} para el evento {{event('dragexit')}}.
{{domxref('GlobalEventHandlers.ondragleave')}}
Un {{domxref('GlobalEventHandlers','manejador de evento global')}} para el evento {{event('dragleave')}}.
{{domxref('GlobalEventHandlers.ondragover')}}
Un {{domxref('GlobalEventHandlers','manejador de evento global')}} para el evento {{event('dragover')}}.
{{domxref('GlobalEventHandlers.ondragstart')}}
Un {{domxref('GlobalEventHandlers','manejador de evento global')}} para el evento {{event('dragstart')}}.
{{domxref('GlobalEventHandlers.ondrop')}}
Un {{domxref('GlobalEventHandlers','manejador de evento global')}} para el evento {{event('drop')}}.

Ejemplo

Un ejemplo para cada propiedad, constructor, tipo de evento, y manejador de evento global están incluidos en sus respectivas páginas de referencia.

Especificaciones

Especificaciones Estado Comentario
{{SpecName("HTML WHATWG", "#dragevent", "DragEvent")}} {{Spec2("HTML WHATWG")}}
{{SpecName("HTML5.1", "editing.html#the-dragevent-interface", "DragEvent")}} {{Spec2("HTML5.1")}} Definición inicial

Compatibilidad entre navegadores

{{Compat("api.DragEvent")}}

Ver también

{{page("/en-US/docs/Web/API/DataTransfer", "Ver también")}}