(1)设置拖动元素属性为可拖放 draggable=”true”
(2)拖
拖时传送的数据类型和值(被拖数据的数据类型和值)
dataTransfer.setData(“Text”,ev.target.id);传送的数据类型为Text,传送的值为元素id
(3)放
拖动的元素放置的位置由事件 ondragover规定 οndragοver=”allowDrop(event)”
进行放置动作由ondrop事件处理
源码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
#tf{
width:350px;
height:70px;
padding:10px;
border:1px solid #aaaaaa;
}
</style>
</head>
<body>
<div id="tf" ondrop="drop(event)" ondragover="allowDrop(event)">把图片拖到此处</div>
<img id="img1" src="logo.png" width="336" height="69" draggable="true" ondragstart="drag(event)">
</body>
<script type="text/javascript">
function allowDrop(ev){
ev.preventDefault();//取消事件的默认动作,即浏览器默认对数据的处理方式以链接形式打开。
}
function drag(ev){ ev.dataTransfer.setData("Text",ev.target.id);
}
function drop(ev){
ev.preventDefault();//获得被拖的数据
var data=ev.dataTransfer.getData("Text");
//拖动元素添加到放置元素(目标元素)中 ev.target.appendChild(document.getElementById(data));
}
</script>
</html>