利用H5新特性实现拖拽
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 | <! DOCTYPE html> < html lang="en"> < head > < meta charset="UTF-8"> < meta http-equiv="X-UA-Compatible" content="IE=edge"> < meta name="viewport" content="width=device-width, initial-scale=1.0"> < title >Document</ title > < style type="text/css"> .box { width: 100px; height: 35px; margin: 10px; padding: 10px; border: 1px solid #aaaaaa; } .content { border: solid 1px red; } .content>.item { border: solid 1px red; } .item>.title { background-color: aqua; } .item>.list>ul>li:nth-child(1) { background-color: brown; } .item>.list>ul>li:nth-child(2) { background-color: bisque; } </ style > < script > function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { console.log('开始'); ev.dataTransfer.setData("Text", ev.target.id); } function drop(ev) { console.log('结束'); console.log(ev); ev.preventDefault(); var data = ev.dataTransfer.getData("Text"); console.log(data); console.log(ev.target.attributes['dragoverid'].nodeValue); // 获取拖拽追加DOM的id let _targetId = ev.target.attributes['dragoverid'].nodeValue; // 把拖拽的DOM放在指定目标DOM下 document.getElementById(_targetId).appendChild(document.getElementById(data)) // ev.target.appendChild(document.getElementById(data)); } </ script > </ head > < body > < ul class="content"> < li class="item" dragoverId="dragAddLi1" ondrop="drop(event)" ondragover="allowDrop(event)"> < div class="title" dragoverId="dragAddLi1">1</ div > < div class="list" dragoverId="dragAddLi1"> < ul id="dragAddLi1"> < li draggable="true" dragoverId="dragAddLi1" ondragstart="drag(event)" id="li1">11</ li > < li draggable="true" dragoverId="dragAddLi1" ondragstart="drag(event)" id="li2">12</ li > </ ul > </ div > </ li > < li class="item" dragoverId="dragAddLi2" ondrop="drop(event)" ondragover="allowDrop(event)"> < div class="title" dragoverId="dragAddLi2">2</ div > < div class="list" dragoverId="dragAddLi2"> < ul id="dragAddLi2"> < li draggable="true" dragoverId="dragAddLi2" ondragstart="drag(event)" id="li3">21</ li > < li draggable="true" dragoverId="dragAddLi2" ondragstart="drag(event)" id="li4">22</ li > </ ul > </ div > </ li > </ ul > </ body > </ html > |
参考资料链接:https://www.runoob.com/html/html5-draganddrop.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
2012-04-18 ASP.NET Forms身份认证
2012-04-18 相关分页Select语句(扩展)
2012-04-18 jquery ajax .net使用
2012-04-18 JavaScript:void(0)
2012-04-18 存储过程实现批量删除
2012-04-18 ADO.NET数据集的工作原理(DataSet)
2012-04-18 web.config详解