<!doctype html>
<title>Alert during dragleave</title>
<style>
  body > div {
    height: 200px;
    width: 200px;
    background-color: orange;
    display: inline-block;
  }
  body > div + div {
    background-color: navy;
  }
</style>
<script type="text/javascript">
window.onload = function () {
  var orange = document.getElementsByTagName('div')[0], blue = document.getElementsByTagName('div')[1];
  orange.ondragstart = function (e) {
    e.dataTransfer.setData('text','PASS');
    e.dataTransfer.effectAllowed = 'all';
  };
  blue.ondragenter = blue.ondragover = function (e) {
    e.preventDefault();
  };
  blue.ondragleave = function (e) {
    alert('JS alert');
  };
};
</script>
<div draggable="true"></div>
<div></div>

<ol>
  <li>Drag the orange square over the blue square, then back over the orange square.</li>
  <li>An alert may appear - release the mouse over the page, not the dialog. Dismiss it (you may need to use keyboard or mouse gestures such as gesture-down,gesture-right). If it does not appear, release the drag.</li>
  <li>The mouse cursor may continue to show that a drag is in operation. If so, attempt to select some of this text with the mouse before continuing to the text step.</li>
  <li>Fail if the mouse continues to show that a drag is in operation.</li>
  <li>Try to select some text in this sentence. Fail if it is not possible.</li>
  <li>Try to drag the orange square downwards. Fail if it is not possible.</li>
</ol>
