<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#div1 {
width: 400px;
height: 200px;
border: 1px solid red;
margin-bottom: 20px;
}
#div2 {
width: 400px;
height: 200px;
border: 1px solid blue;
margin-bottom: 20px;
}
</style>
</head>
<body>
<div id="div1" ondragover="dragover(event);" ondrop="drop(event);"></div>
<div id="div2" ondragover="dragover(event);" ondrop="drop(event);"></div>
<img id="img1" src="img/user7.jpg" draggable="true" ondragstart="dragstart(event)"/>
<img id="img2" src="img/user10.jpg" draggable="true" ondragstart="dragstart(event)"/>
<script>
/*当开始拖动元素*/
function dragstart(e) {
console.log(e.target.id + '拖动开始');
//在事件对象中存储被拖动元素的id
e.dataTransfer.setData('objId',e.target.id);
}
/*当元素被拖动到当前元素中*/
function dragover(e) {
console.log(e.target.id + ':dragover');
//阻止默认行为(,默认行为就是不让鼠标释放元素到这里)
e.preventDefault();
}
/*当元素被释放到当前元素中事件*/
function drop(e) {
console.log(e.target.id + ':drop');
//阻止默认行为
e.preventDefault();
//获得当前被拖动元素的id
var id = e.dataTransfer.getData('objId');
//获得被拖动元素的对象
var obj = document.getElementById(id);
//在当前元素中插入被拖动元素
if (e.target.nodeName == 'DIV')
e.target.appendChild(obj);
}
</script>
</body>
</html>