1、重点目标区域:
<style> *{ margin: 0; padding: 0; } .a{ position: absolute; width: 100px; height: 100px; background-color: #abcdef; } .target{ position: absolute; width: 200px; height: 200px; border: 1px solid black; left: 600px; } </style></head><body> <div class="a" draggable="true"></div> <div class="target"></div> <script> var oDragDiv = document.getElementsByClassName('a')[0]; oDragDiv.ondragstart = function (e) { } oDragDiv.ondragend = function (e) { console.log("end"); } // ****目标区域**** var oDragTarget = document.getElementsByClassName('target')[0]; oDragTarget.ondragenter = function(e) {//不是元素图形进入就触发的,而是拖拽的鼠标进入才触发的 console.log(e); } oDragTarget.ondragover = function(e) { // console.log(e); e.preventDefault(); } oDragTarget.ondragleave = function (e) { } oDragTarget.ondrop =function () { //所有的标签元素,当拖拽周期结束时,默认事件是回到原处 //如果要执行ondrop事件,那就在ondragover上阻止默认事件:e.preventDefault() //事件是由行为触发的,但是一个行为可以不止触发一个事件 console.log('drop'); /**ondragover --> 回到原处(默认) --> 执行drop事件 A->B(阻止)->C(最终被阻止) */ } </script></body>