HTML | Evento de incorporación de DOM

El evento ondrop HTML DOM ocurre cuando un elemento que se puede arrastrar se suelta en un destino de colocación válido.
Hay algunos eventos que se usan y ocurren en las diferentes etapas de una operación de arrastrar y soltar: 

Eventos activados en el objetivo arrastrable:

  • ondragstart: ocurre cuando se inicia el arrastre de un elemento.
  • ondrag: ocurre mientras se arrastra un elemento.
  • ondragend: ocurre cuando finaliza el arrastre de un elemento.

Eventos activados en el destino de colocación:

  • ondragenter: se produce cuando el elemento arrastrado entró en el destino de colocación.
  • ondragover: ocurre cuando el elemento arrastrado está sobre el destino de colocación.
  • ondragleave: ocurre cuando el elemento arrastrado sale del destino de colocación.
  • ondrop: se produce cuando el elemento arrastrado se suelta en el destino de colocación.

Sintaxis: 

  • En HTML: 
<element ondrop="myScript">
  • En JavaScript: 
object.ondrop = function(){myScript};
  • En JavaScript, usando el método addEventListener(): 
object.addEventListener("drop", myScript);

Nota: Los enlaces y las imágenes se pueden arrastrar de forma predeterminada.
Ejemplo 1: 

html

<!DOCTYPE HTML>
<html>
 
<head>
    <title>HTML DOM ondrop Event</title>
    <style>
        .droptarget {
            float: center;
            width: 300px;
            height: 50px;
            margin: 20px;
            padding: 5px;
            border: 6px solid green;
        }
    </style>
</head>
 
<body>
    <center>
        <h1 style="color:green">
          GeeksforGeeks
      </h1>
        <h2>HTML DOM ondrop Event</h2>
 
        <div class="droptarget"
             ondrop="dropEle(event)"
             ondragover="allowDropEle(event)">
 
            <p ondragstart="dragStartEle(event)"
               draggable="true"
               id="dragtarget">
                Draggable element
            </p>
 
        </div>
 
        <div class="droptarget"
             ondrop="dropEle(event)"
             ondragover="allowDropEle(event)">
        </div>
 
        <p id="demo"></p>
 
        <script>
            function dragStartEle(event) {
                event.dataTransfer.setData(
                  "Text", event.target.id);
               
                document.getElementById(
                  "demo").innerHTML = "Dragging starts";
            }
 
            function allowDropEle(event) {
                event.preventDefault();
            }
 
            function dropEle(event) {
                event.preventDefault();
                var data =
                    event.dataTransfer.getData("Text");
               
                event.target.appendChild(
                  document.getElementById(data));
               
                document.getElementById("demo").innerHTML =
                  "Element dropped";
            }
        </script>
    </center>
 
</body>
 
</html>

Producción: 

Ejemplo 2: 

html

<!DOCTYPE HTML>
<html>
 
<head>
    <title>
        HTML DOM ondrop Event
    </title>
    <style>
        .droptarget {
            float: center;
            width: 300px;
            height: 50px;
            margin: 20px;
            padding: 5px;
            border: 6px solid green;
        }
    </style>
</head>
 
<body>
    <center>
        <h1 style="color:green">
          GeeksforGeeks
      </h1>
        <h2>HTML DOM ondrop Event</h2>
 
        <div class="droptarget">
            <p draggable="true"
               id="dragtarget">
                Draggable element
          </p>
        </div>
 
        <div class="droptarget">
      </div>
 
        <p id="demo"></p>
 
        <script>
            // Event fired on the drag target
            document.ondragstart = function(event) {
                event.dataTransfer.setData("Text", event.target.id);
                document.getElementById("demo").innerHTML = "Dragging starts";
            };
 
            // Events fired on the drop target
            document.ondragover = function(event) {
                event.preventDefault();
            };
 
            document.ondrop = function(event) {
                event.preventDefault();
                var data = event.dataTransfer.getData("Text");
                event.target.appendChild(document.getElementById(data));
                document.getElementById("demo").innerHTML = "Element dropped";
            };
        </script>
    </center>
</body>
 
</html>

Producción: 

Ejemplo 3: 

html

<!DOCTYPE HTML>
<html>
 
<head>
    <title>HTML DOM ondrop Event</title>
    <style>
        .droptarget {
            float: center;
            width: 300px;
            height: 50px;
            margin: 20px;
            padding: 5px;
            border: 6px solid green;
        }
    </style>
</head>
 
<body>
    <center>
        <h1 style="color:green">
          GeeksforGeeks
      </h1>
        <h2>HTML DOM ondrop Event</h2>
 
        <div class="droptarget">
            <p draggable="true" id="dragtarget">
              Draggable element</p>
        </div>
 
        <div class="droptarget"></div>
 
        <p id="demo"></p>
 
        <script>
            // Event fired on the drag target
            document.addEventListener("dragstart", function(event) {
                event.dataTransfer.setData("Text", event.target.id);
                document.getElementById("demo").innerHTML = "Dragging starts";
            });
 
            // Events fired on the drop target
            document.addEventListener("dragover", function(event) {
                event.preventDefault();
            });
 
            document.addEventListener("drop", function(event) {
                event.preventDefault();
                var data = event.dataTransfer.getData("Text");
                event.target.appendChild(document.getElementById(data));
                document.getElementById("demo").innerHTML = "Element dropped";
            });
        </script>
    </center>
 
</body>
 
</html>

Producción: 

Navegadores compatibles: los navegadores compatibles con HTML DOM ondrop Event se enumeran a continuación: 

  • Google Chrome
  • explorador de Internet
  • Firefox
  • safari de manzana
  • Ópera

Publicación traducida automáticamente

Artículo escrito por Vijay Sirra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *