HTML ondrag Event Attribute

The HTML ondrag event attribute is triggered when the user drags an HTML element in an HTML document. The HTML image and link elements are dragged by default so there is no need to specify ondrag attribute on them.


Following is the syntax −

<tagname ondrag=”script”></tagname>


Let us see an example of HTML ondrag event Attribute −

Live Demo

<!DOCTYPE html>
   body {
      color: #000;
      height: 100vh;
      background-color: #FBAB7E;
      background-image: linear-gradient(62deg, #FBAB7E 0%, #F7CE68 100%);
      text-align: center;
   .drop-target {
      display: inline-block;
      width: 150px;
      height: 150px;
      border: 2px solid #FFF;
      margin: 1rem;
      vertical-align: middle;
      padding: 20px;
   .circle {
      background: #db133a;
      height: 40px;
      width: 40px;
      border-radius: 50%;
   .show {
      color: #fff;
      font-size: 1.2rem;
<h1>HTML ondrag Event Attribute Demo</h1>
<div class="drop-target" ondrop="drop(event)" ondragover="allowDrop(event)">
<p ondragstart="dragStart(event)" ondrag="dragging(event)" draggable="true" class="circle"></p>
<div class="drop-target" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<p>Now try to drag and drop the red circle</p>
<div class="show"></div>
   function dragStart(event) {
   function dragging(event) {
      document.querySelector(".show").innerHTML = "Circle is being dragged";
   function allowDrop(event) {
   function drop(event) {
      document.querySelector(".show").innerHTML = "Circle was dropped";


Now try to drag and drop the red circle between the two boxes to observe how ondrag event attribute works.