您的位置:首页 > Web前端 > HTML5

h5-17-元素拖放

2017-08-04 11:09 127 查看
<!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>


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: