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