
例子

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>HTML5拖放API之回收站效果</title>
<style type="text/css">
#container {
border: 1px solid;
width: 300px;
height: 250px;
float: left;
}
#container div {
background: url(image/folder.png) no-repeat;
text-align: center;
float: left;
margin: 20px;
width: 100px;
height: 80px;
line-height: 80px;
}
div#recycle {
width: 200px;
height: 200px;
float: left;
text-align: center;
background: url(image/recycle.jpg) no-repeat;
margin: 30px;
}
</style>
</head>
<body>
<h3>HTML5拖放API之回收站效果</h3>
<hr />
<!--文件展示区域-->
<div id="container">
<div draggable="true" id="file1">
文件1
</div>
<div draggable="true" id="file2">
文件2
</div>
<div draggable="true" id="file3">
文件3
</div>
<div draggable="true" id="file4">
文件4
</div>
</div>
<!--回收站区域-->
<div id="recycle"></div>
<script type="text/javascript">
var oDiv = document.getElementById("container").getElementsByTagName("div");
var recycle = document.getElementById("recycle");
for (var i = 0; i < oDiv.length; i++) {
oDiv[i].ondragstart = function(ev) {
ev.dataTransfer.setData("text", ev.target.id);
console.log("开始拖动")
}
}
recycle.ondragover = function(ev) {
ev.preventDefault();
console.log("这是放到可拖拽区域生出的文字");
}
recycle.ondrop = function(ev) {
ev.preventDefault();
var id = ev.dataTransfer.getData("text");
var folder = document.getElementById(id);
document.getElementById("container").removeChild(folder);
}
</script>
</body>
</html>
<!--
1.将元素设置为可拖动draggable="true",设置id
2.在被拖拽元素上:开始拖动 document.ondragstart,只有设置了draggable="true"的才可以拖动,切拖动才有反应
2.1
3.拖拽区域,ondragover,ondrop解禁当前元素为可放置被拖拽元素的区域
-->
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库