html5如何控制内容(html5拖拽应用记录及注意点)
类别:Web前端 浏览量:411
时间:2021-10-15 00:56:59 html5如何控制内容
html5拖拽应用记录及注意点下面通过代码给大家介绍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; } .li1{ width: 200px; height: 200px; border: 1px solid red; position: relative; margin-left:20px; float: left; } .li2{ width: 200px; height: 200px; border: 1px solid blue; position: relative; margin-left:20px; float: left; } .li3{ width: 200px; height: 200px; border: 1px solid green; position: relative; margin-left:20px; float: left; } p{ background-color: orange; margin-top: 5px; } </style> </head> <body> <li class="li1" id="li1"> <!--在h5中,如果想拖拽元素,就必须为元素添加draggable="true". 图片和超链接默认就可以拖拽--> <p id="pe" draggable="true">试着把我拖过去</p> <p id="pe1" draggable="true">试着也把我拖过去</p> </li> <li class="li2" id="li2"></li> <li class="li3" id="li3"></li> <script> /*学习拖拽,主要就是学习拖拽事件*/ var p=document.querySelector("#pe1"); var li2=document.querySelector("#li2"); var li3=document.querySelector("#li3"); /*应用于被拖拽元素的事件 *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 应用于目标元素,当鼠标离开目标元素时调用*/ li2.ondragenter=function(){ console.log("进入目标1"); } li2.ondragover=function(e){ console.log(e); console.log("在目标1中盘旋"); //console.log("ondragover"); /*如果想触发ondrop事件,那么就必须在这个位置阻止浏览器的默认行为*/ e.preventDefault(); } /*浏览器默认会阻止ondrop事件:我们必须在ondragover中阻止浏览器的默认行为*/ li2.ondrop=function(){ console.log("锁定目标1,降落"); /*添加被拖拽的元素到当前目标元素*/ li2.appendChild(p); } li2.ondragleave=function(){ console.log("离开目标1"); } li3.ondragenter=function(){ console.log("进入目标2"); } li3.ondragover=function(e){ console.log("在目标2中盘旋"); //console.log("ondragover"); /*如果想触发ondrop事件,那么就必须在这个位置阻止浏览器的默认行为*/ e.preventDefault(); } li3.ondrop=function(){ console.log("锁定目标2,降落"); /*添加被拖拽的元素到当前目标元素*/ li3.appendChild(p); } li3.ondragleave=function(){ console.log("离开目标2"); } </script> </body> </html>
总结
到此这篇关于html5拖拽应用记录的文章就介绍到这了,更多相关html5拖拽应用内容请搜索开心学习网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持开心学习网!
您可能感兴趣
- docker-compose查看服务状态(Docker+DockerCompose封装web应用的方法步骤)
- sqlserverdate格式比较(sqlserver之datepart和datediff应用查找当天上午和下午的数据)
- html5应用的几个建议
- python使用什么函数定义匿名函数(Python匿名函数及应用示例)
- treeview怎么加载节点(AmazeUi Tree树形结构 应用小结)
- 正则表达式在python的中的应用(Python中正则表达式的用法总结)
- ftp服务器的搭建及应用(FTP服务器的部署和维护心得)
- sql行转列的应用(SQL查询语句行转列横向显示实例解析)
- html5 设置缓存(HTML5实现应用程序缓存Application Cache)
- tomcat架构结构图(Tomcat核心组件及应用架构详解)
- php实现redis核心代码(PHP结合Redis+MySQL实现冷热数据交换应用案例详解)
- php博客开发短信原理(PHP如何实现阿里云短信sdk灵活应用在项目中的方法)
- yii2支持的数据库(Yii框架常见缓存应用实例小结)
- IIS应用程序池中ApplicationPoolIdentity
- python装饰器怎么设置(深入了解和应用Python 装饰器 @decorator)
- vuejs filter过滤器的使用(Vue过滤器filter实现及应用场景详解)
- 四川旅游攻略(四川旅游攻略自由行攻略)
- 上海迪士尼攻略(上海迪士尼攻略旅游)
- 哪里可以看熊猫(成都哪里可以看熊猫)
- oppo手机的三种录屏方法,你知道有哪些吗(oppo手机的三种录屏方法)
- 吉林神秘传染链跨省 传染源尚未找到,舒兰 封城(吉林神秘传染链跨省)
- 吉林舒兰 封城 聚集性疫情传播链已延至沈阳,有一个细节让人忧心(吉林舒兰封城)
热门推荐
- 怎样在云服务器上搭建宝塔面板(利用宝塔面板同步服务器时间的实现方法)
- SQL Server中对列的权限设置
- python将字符串转换为时间格式(Python时间和字符串转换操作实例分析)
- python闭包的讲解(详解python函数的闭包问题内部函数与外部函数详述)
- mysql8.0.12安装教程图解(mysql 8.0.22 zip压缩包版免安装下载、安装配置步骤详解)
- dedecms是静态吗(dedecms全站伪静态的实现方法及注意事项)
- 云主机和免备案空间(租用国内免备案云服务器空间靠谱吗?)
- tick数据间隔时间为2秒(让你一看就明白的$nextTick讲解)
- 阿里云对象存储oss请求次数(阿里云服务器本地上传到OSS对象存储节点)
- cuda安装包下载慢(Manjaro安装CUDA实现教程解析)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9