黑松山资源网 Design By www.paidiu.com
下面通过代码给大家介绍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-top: 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>
总结
黑松山资源网 Design By www.paidiu.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
黑松山资源网 Design By www.paidiu.com
暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月14日
2024年11月14日
- 群星.1988-电视金曲巡礼【EMI百代】【WAV+CUE】
- 群星.1992-电视金曲巡礼VOL.2【EMI百代】【WAV+CUE】
- 廖昌永《情缘HQ》头版限量[低速原抓WAV+CUE]
- 蔡琴《老歌》头版限量编号MQA-24K金碟[低速原抓WAV+CUE]
- 李嘉《国语转调》3CD[WAV+CUE]
- 谭咏麟《爱的根源 MQA-UHQCD》2022头版限量编号 [WAV+CUE][1G]
- 江洋 《江洋原创琵琶作品专辑》[320K/MP3][118.08MB]
- 江洋 《江洋原创琵琶作品专辑》[FLAC/分轨][228.33MB]
- 《战舰世界》语音包文件夹位置介绍
- 《CSGO》送好友皮肤方法介绍
- 《山羊模拟器重制版》发售平台说明
- 刘德华2002-美丽的一天[香港首批大包装首版][WAV]
- 刘文正《金装刘文正不朽经典金曲》2CD(1995环星)][WAV+CUE]
- 周慧敏《94美的化身演唱会》宝丽金1995港版2CD[WAV+CUE]
- 娃娃.1997-精选180绝版冠军精丫滚石】【WAV+CUE】