Open In App

HTML DOM ondragover Event

The HTML DOM ondragover event occurs when a draggable element is being dragged over a valid dropzone. 

Note: Links and images are draggable by default. 



There are some events that are used and occurred in the different stages of a drag-and-drop operation:

Note: the ondragover event fires every 350 milliseconds while dragging an element. 



Syntax:

<element ondragover="myScript">
object.ondragover = function(){myScript};
object.addEventListener("dragover", myScript);

Example: Using HTML. 




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

Output:

  

Example: Using JavaScript 




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

Output:

  

Example: Using the addEventListener() method 




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

Output:

  

Supported Browsers: The browsers supported by HTML DOM ondragover Event are listed below:


Article Tags :