In html, event processing is completed in js. HTML, js and css are inseparable. The following is an example of handling drag and drop events in js.
The drag event is divided into two parts, one is the processing of the drag target (i.e. the drag target); the other is the processing of the drag target (i.e. release target).
Trigger event on the drag target (source element):
ondragstart - Triggered when the user starts dragging the element
ondrag - triggered when the element is being dragged
ondragend - triggered after the user completes dragging the element
Events triggered when the target is released:
ondragenter - This event is triggered when the object being dragged by the mouse enters its container scope
ondragover - This event is triggered when a dragged object is dragged within the scope of another object's container
ondragleave - This event is triggered when the object being dragged by the mouse leaves the scope of its container
ondrop - This event is triggered when the mouse button is released during a dragging process
The implementation code is as follows: box1 and lists can be dragged to each other
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <style> #box1{width: 200px;height: 250px;border:2px solid red;} #lists{ width:200px; height:250px; list-style: none;padding: 0;margin: 10px 0px; border:2px solid blue;} li{width: 150px;height: 30px; margin: 5px 0; padding:0;background: #ccc; line-height:30px;text-align: center ;} </style> <script> window.onload=function () { var box1=document.getElementById("box1"); var lists=document.getElementById("lists"); var lis=document.getElementsByTagName("li"); for(var i=0;i<lis.length;i++){ lis[i].draggable=true; lis[i].flag=false; //1、拖拽开始 lis[i].ondragstart=function () { this.flag=true; } //2、拖拽移动 two.ondrag=function () { } //3、拖拽结束 lis[i].ondragend=function () { this.flag=false; } } //投放区事件 //1、进入投放区 box1.ondragenter=function (e) { e.preventDefault(); } //2、在投放区内移动 box1.ondragover=function (e) { e.preventDefault(); } //3、离开投放区 box1.ondragleave=function (e) { e.preventDefault(); } //4、完成投放 此时可以在投放区内做处理 box1.ondrop=function (e) { e.preventDefault(); for(var i=0;i<lis.length;i++){ if(lis[i].flag){ box1.appendChild(lis[i]); } } } lists.ondragenter=function (e) { e.preventDefault(); } lists.ondragover=function (e) { e.preventDefault(); } lists.ondragleave=function (e) { e.preventDefault(); } lists.ondrop=function (e) { e.preventDefault(); for(var i=0;i<lis.length;i++){ if(lis[i].flag){ lists.appendChild(lis[i]); } } } } </script> </head> <body> <p id="box1"></p> <ul id="lists"> <li>数据1</li> <li>数据2</li> <li>数据3</li> <li>数据4</li> <li>数据5</li> <li>数据6</li> </ul> </body> </html>
##Among them: The getElementsByTagName() method returns a collection of objects with the specified tag name.
e.preventDefault(); is to prevent the system’s default drag event.
appendChild() is to add a control to the specified control.
e.preventDefault();
Related recommendations:
Use JS and html to make a simple drawing board code
Js process of operating DOM objects
The above is the detailed content of html drag drag event. For more information, please follow other related articles on the PHP Chinese website!