本文共 1487 字,大约阅读时间需要 4 分钟。
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function allowDrop(ev){
ev.preventDeafault();
}
function drag(ev){
ev.dataTranster.setData("Text",ev.target.id);
}
function drop(ev){
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
ev.preventDefault();
}
</script>
</head>
<body>
<div id ="div1" οndrοp="drop(event)" οndragοver="allowDrop(event)"></div>
<img id="drag1" src="img_logo.gif" draggable="true" οndragstart="drag(event)" width="336" height="69" />
</body>
</html>
很easy。仅仅须要将一个元素的拖动属性改动为draggable,例如以下:
然后,我们指定当一个元素拖动的时候会运行的操作。
在上面的演示中。ondragstart属性调用了一个方法, drag(event)。这里指定了那个数据被拖动。
dataTransfer.setData()方法设置了数据类型和被拖动的数据:
在这里样例中。data type是"Text",数值是被拖动元素的ID。
ondragover事件指定了拖动的元素能够被放置的位置。
缺省,数据/元素不能被drop到另外的元素。 为了同意drop,你须要先阻止缺省的处理方式。我们能够调用event.preventDefault()方法,例如以下:
当可拖动的数据被drop的时候,drop事件触发。
在上面的样例中。ondrop属性能够调用一个方法。drop(event):
以上代码: