学习html5拖动drag
主要就是几个事件函数及属性
被拖动元素:draggable 属性设置为true
ondragstart(event)当元素被拖动时发生什么事
例如可以把被拖动元素的id存储事件中 ev.dataTransfer.setData("name","value");value--ev.target.id
元素被放置
ondragover(ev) function 这个函数用来阻止浏览器的默认行为ev.preventDefault()
ondrop()元素被放置var id = ev.dataTransfer.getData("name");
ev.target.appendChild(document.getElementById(id)) ev.target是目标事件对象
要是去实现来回的拖动只要在目标对象上都加入ondragover ondrop 句柄就好了
<!DOCTYPE HTML>
<html>
<head>
<title></title>
<meta charset="utf-8"/>
<style>
#div1{width:200px; height:200px;border:solid 1px gray;}
#div2{width:200px; height:200px;border:solid 1px gray;}
img{border:solid 1px red;}
</style>
</head>
<div id="div1" ondragover="allowDrag(event)" ondrop="dropImg(event)"></div>
<div id="div2" ondragover="allowDrag(event)" ondrop="dropImg(event)">
<img id="img1" src="22.gif" draggable="true" ondragstart="dragImg(event)"/>
</div>
<script>
function dragImg(ev){
ev.dataTransfer.setData("heh",ev.target.id);
}
function allowDrag(ev){
ev.preventDefault();
}
function dropImg(ev){
ev.preventDefault();
var data = ev.dataTransfer.getData("heh");
//console.log(document.getElementById(data));
ev.target.appendChild(document.getElementById(data));
}
</script>
<body>
</body>