para definir un efecto de soltar, se deben seguir los siguientes pasos:
5.1. Determine los efectos de colocación permitidos en el elemento arrastrable en su controlador de eventos dragstart
Usando la propiedad effectAllowed en la propiedad de eventos dataTransfer, defina todos los efectos de colocación que se permiten aplicar a ese elemento arrastrable.
esto se hace ya que se pueden definir diferentes ubicaciones de gota y se pueden manejar diferentes efectos de gota por ubicación de gota.,
La siguiente tabla define las posibles effectAllowed los valores de la propiedad basada en el MDN docs:
5.2. Para cada ubicación de colocación, defina los efectos de colocación para ella en su controlador de eventos dragover
el efecto de colocación a definir debe ser uno de los efectos permitidos determinados en el controlador de eventos dragstart de la ubicación de origen.,
Cuando un efecto de caída no es uno de los efectos de caída permitidos, se establecerá como uno de los efectos de caída permitidos.
el controlador de arrastrar, donde se debe definir el efecto de soltar, se ejecuta cuando el elemento arrastrado se arrastra sobre una posible ubicación de soltar.
el siguiente es un ejemplo de cómo definir los efectos de colocación para una ubicación de colocación en particular.
6) Definir la Zona de Caída (Drop Ubicación)
Por defecto, ningún elemento en el documento HTML permite una gota., Sin embargo, eso se puede cambiar y para hacer de un elemento una zona de colocación, debe tener:
El controlador de eventos ondragover, que se ejecuta cuando el elemento arrastrable se arrastra sobre este elemento. En este controlador de eventos, el efecto de caída de la ubicación de caída se define como se mencionó anteriormente en el paso 5.2.
El controlador de eventos ondrop, que se ejecuta cuando se suelta el elemento arrastrable en la ubicación/zona de arrastre.
el siguiente es un ejemplo de definición de un elemento como una ubicación de colocación.,
en los controladores de eventos dragover y drop, se debe llamar a preventDefault() para permitir una drop, ya que indica que una drop está permitida en esa ubicación.
si un drop solo se permite en ciertas situaciones en las que se utilizan condiciones, entonces solo agregue preventDefault si se cumplen las condiciones para permitir un drop. Esto se hace para evitar que el elemento sea una zona de caída si no se cumplen las condiciones en las que no se debe permitir la caída.,
rechazar un drop basado en el tipo de los datos de arrastre en la propiedad dataTransfer es un caso común. El siguiente ejemplo lo demuestra al permitir que solo se suelten enlaces en el elemento drop zone que tiene el controlador dragover.