HTML event attribute ondragleave








The ondragleave attribute event is triggered when a draggable element or text selection leaves a drop target.

To make an element draggable, mark that element with the global HTML5 draggable attribute.

Links and images are draggable by default.

Events fired on the draggable source element:

  • ondragstart - starting dragging
  • ondrag - during the dragging
  • ondragend - finish dragging

Events fired on the drop target:

  • ondragenter - when the dragged element enters the droppable target
  • ondragover - when the dragged element is over the droppable target
  • ondragleave - when the dragged element leaves the droppable target
  • ondrop - when the dragged element is dropped on the droppable target




What's new in HTML5

The ondragleave attribute is new in HTML5.

Syntax

<element ondragleave="script or Javascript function name">

Supported Tags

ALL HTML elements

Browser compatibility

ondragleave Yes 9.0 Yes Yes Yes

Example

<!DOCTYPE HTML>
<html>
<head>
<style>
.droptarget {<!--  w w w  .  ja  v a 2  s. c o m-->
    float: left; 
    width: 100px; 
    height: 35px;
    margin: 15px;
    padding: 10px;
    border: 1px solid red;
}
</style>
</head>
<body>

<div class="droptarget" ondrop="drop(event)" ondragenter="dragEnter(event)"  
   ondragover="allowDrop(event)"
   ondragleave="dragLeave(event)">
  <p ondragstart="dragStart(event)" 
     ondrag="dragging(event)" 
     draggable="true" 
     id="dragtarget">Drag me!</p>
</div>

<div class="droptarget" 
    ondrop="drop(event)" ondragover="allowDrop(event)"></div>

<script>
function dragStart(event) {
    event.dataTransfer.setData("Text", event.target.id);
}
function dragLeave(event) {
    console.log("dragLeave");
}

function dragEnter(event) {
    console.log("enter");
}
function dragging(event) {
    console.log("being dragged");
}

function allowDrop(event) {
    event.preventDefault();
}

function drop(event) {
    event.preventDefault();
    var data = event.dataTransfer.getData("Text");
    event.target.appendChild(document.getElementById(data));
    console.log("dropped");
}
</script>

</body>
</html>

Click to view the demo