html5拖拽应用记录及注意点
建站知识 2021-07-02 23:00www.168986.cn长沙网站建设
狼蚁网站SEO优化通过代码给大家介绍html5拖拽应用记录,具体代码如下所示
e.dataTransfer.setData("a","设置的值"); e.dataTransfer.getData("a"); function drop(e) { <!--尝试console.log(e),这里能拿到好多你用得到的api--> e.dataTransfer.setData("a", e.target.id); }
拖动元素
被拖动的元素上要加入入draggable="true"
属性
一些注意点
drop 必须配上 dragover,否则事件不生效
document.getElementById('right').ondragover = function (ev) { ev.preventDefault(); //阻止向上冒泡 } document.getElementById('right').ondrop = function (ev) { ev.preventDefault(); //阻止向上冒泡 console.log("放入"); }
react中使用事件必须是驼峰,例如onDragOver
vue中在ui库组件上加的时候记得加 .native,例如@drop.native
完整测试案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> { margin: 0; padding: 0; } .div1{ width: 200px; height: 200px; border: 1px solid red; position: relative; margin-left:20px; float: left; } .div2{ width: 200px; height: 200px; border: 1px solid blue; position: relative; margin-left:20px; float: left; } .div3{ width: 200px; height: 200px; border: 1px solid green; position: relative; margin-left:20px; float: left; } p{ background-color: orange; margin-: 5px; } </style> </head> <body> <div class="div1" id="div1"> <!--在h5中,如果想拖拽元素,就必须为元素添加draggable="true". 图片和超链接默认就可以拖拽--> <p id="pe" draggable="true">试着把我拖过去</p> <p id="pe1" draggable="true">试着也把我拖过去</p> </div> <div class="div2" id="div2"></div> <div class="div3" id="div3"></div> <script> /学习拖拽,主要就是学习拖拽事件/ var p=document.querySelector("#pe1"); var div2=document.querySelector("#div2"); var div3=document.querySelector("#div3"); /应用于被拖拽元素的事件 ondrag 应用于拖拽元素,整个拖拽过程都会调用--持续 ondragstart 应用于拖拽元素,当拖拽开始时调用 ondragleave 应用于拖拽元素,当鼠标离开拖拽元素时调用 ondragend 应用于拖拽元素,当拖拽结束时调用/ p.ondragstart=function(e){ console.log("开始"); e.dataTransfer.setDate("a") } p.ondragend=function(){ console.log("结束"); } p.ondragleave=function(){ console.log("离开目标"); } p.ondrag=function(){ // console.log("持续触发---111111"); } /应用于目标元素的事件 ondragenter 应用于目标元素,当拖拽元素进入时调用 ondragover 应用于目标元素,当停留在目标元素上时调用 ondrop 应用于目标元素,当在目标元素上松开鼠标时调用 ondragleave 应用于目标元素,当鼠标离开目标元素时调用/ div2.ondragenter=function(){ console.log("进入目标1"); } div2.ondragover=function(e){ console.log(e); console.log("在目标1中盘旋"); //console.log("ondragover"); /如果想触发ondrop事件,那么就必须在这个位置阻止浏览器的默认行为/ e.preventDefault(); } /浏览器默认会阻止ondrop事件我们必须在ondragover中阻止浏览器的默认行为/ div2.ondrop=function(){ console.log("锁定目标1,降落"); /添加被拖拽的元素到当前目标元素/ div2.appendChild(p); } div2.ondragleave=function(){ console.log("离开目标1"); } div3.ondragenter=function(){ console.log("进入目标2"); } div3.ondragover=function(e){ console.log("在目标2中盘旋"); //console.log("ondragover"); /如果想触发ondrop事件,那么就必须在这个位置阻止浏览器的默认行为/ e.preventDefault(); } div3.ondrop=function(){ console.log("锁定目标2,降落"); /添加被拖拽的元素到当前目标元素/ div3.appendChild(p); } div3.ondragleave=function(){ console.log("离开目标2"); } </script> </body> </html>
到此这篇关于html5拖拽应用记录的文章就介绍到这了,更多相关html5拖拽应用内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章,希望大家以后多多支持狼蚁SEO!
长沙网站设计
- 如何进行东阳SEO关键词优化?
- 边坝哪有关键词排名优化:提升你的网站流量与
- 安国百度优化服务:提升您的在线可见性
- 阜康新手做SEO怎么做
- 山西seo网站排名关键词优化:提升您网站曝光率
- 临沂seo网站排名关键词优化:提高你的网站可见
- 广西SEO网站推广怎样付费比较合理
- 双辽SEO网站推广:提升你的网站可见性与流量
- 辽宁企业网站优化购买方式有哪些
- 提升宝清百度SEO排名的实用技巧与策略
- 静宁百度SEO排名:提升您网站曝光率的关键策略
- 彭州百度SEO排名的提升策略和实施指南
- 广南百度关键词SEO:提升网站排名的关键策略
- 辽宁关键词优化怎么做论坛营销
- 吉林百度seo排名如何做到让用户满意
- 内黄百度优化服务:提升在线可见性的关键