Saltar al contenido

Atributo draggable de HTML

El atributo draggable de HTML es un atributo enumerado que especifica si el elemento se puede arrastrar o no (ya sea con el comportamiento nativo del navegador o con la API de arrastrar y soltar de HTML). Este atributo se utiliza comúnmente en las operaciones de arrastrar y soltar.

Las imágenes y los enlaces son arrastrables de forma predeterminada. Para otros elementos, debes configurar el controlador de eventos ondragstart para iniciar un arrastre y usar event.dataTransfer. También puedes usar draggable="false" para deshabilitar explícitamente el arrastre en imágenes y enlaces.

Puedes usar este atributo en cualquier elemento HTML. Forma parte de los Atributos globales.

El atributo draggable puede tener los siguientes valores:

  • true: el elemento se puede arrastrar.
  • false: el elemento no se puede arrastrar.
  • auto: el arrastre sigue el comportamiento predeterminado del navegador.

Sintaxis

Sintaxis del atributo draggable de HTML

html
<tag draggable="true|false|auto"></tag>

Ejemplo del atributo draggable de HTML:

Ejemplo del atributo draggable de HTML

html
<!DOCTYPE HTML>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      #rectId {
        width: 350px;
        height: 70px;
        padding: 10px;
        border: 1px solid #aaaaaa;
      }
    </style>
    <script>
      function allowDrop(event) {
        event.preventDefault(); // Allow dropping
      }
      function drag(event) {
        // Store the dragged element's ID in the dataTransfer object
        event.dataTransfer.setData("Text", event.target.id);
      }
      function drop(event) {
        var data = event.dataTransfer.getData("Text"); // Retrieve the ID
        event.target.appendChild(document.getElementById(data));
        event.preventDefault();
      }
    </script>
  </head>
  <body>
    <div id="rectId" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
    <br />
    <p id="dragId" draggable="true" ondragstart="drag(event)">
      This is a draggable paragraph. Drag this item to the rectangle.
    </p>
  </body>
</html>

Nota: Para el desarrollo moderno, se recomienda usar addEventListener en lugar de controladores de eventos en línea.

Practice

¿Qué es cierto sobre el atributo draggable de HTML?

Vista previa dual-run — compárala con las rutas Symfony en producción.