1、重点目标区域:

  1. <style>
  2. *{
  3. margin: 0;
  4. padding: 0;
  5. }
  6. .a{
  7. position: absolute;
  8. width: 100px;
  9. height: 100px;
  10. background-color: #abcdef;
  11. }
  12. .target{
  13. position: absolute;
  14. width: 200px;
  15. height: 200px;
  16. border: 1px solid black;
  17. left: 600px;
  18. }
  19. </style>
  20. </head>
  21. <body>
  22. <div class="a" draggable="true"></div>
  23. <div class="target"></div>
  24. <script>
  25. var oDragDiv = document.getElementsByClassName('a')[0];
  26. oDragDiv.ondragstart = function (e) {
  27. }
  28. oDragDiv.ondragend = function (e) {
  29. console.log("end");
  30. }
  31. // ****目标区域****
  32. var oDragTarget = document.getElementsByClassName('target')[0];
  33. oDragTarget.ondragenter = function(e) {//不是元素图形进入就触发的,而是拖拽的鼠标进入才触发的
  34. console.log(e);
  35. }
  36. oDragTarget.ondragover = function(e) {
  37. // console.log(e);
  38. e.preventDefault();
  39. }
  40. oDragTarget.ondragleave = function (e) {
  41. }
  42. oDragTarget.ondrop =function () { //所有的标签元素,当拖拽周期结束时,默认事件是回到原处
  43. //如果要执行ondrop事件,那就在ondragover上阻止默认事件:e.preventDefault()
  44. //事件是由行为触发的,但是一个行为可以不止触发一个事件
  45. console.log('drop');
  46. /**ondragover --> 回到原处(默认)
  47. --> 执行drop事件
  48. A->B(阻止)->C(最终被阻止)
  49. */
  50. }
  51. </script>
  52. </body>