html新特性——拖拽(drag和drop)

html-css012

html新特性——拖拽(drag和drop),第1张

被拖动的元素增加draggable="true"属性;

接受拖过来的元素要接受新元素,ondragover 事件触发的时候要禁止自设的默认事件e.preventDefault()

监听ondrop事件,将元素进行插入appendChild;

这是一个网友的代码 你可以参考一下

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>无标题文档</title>

</head>

<script>

function mstart(a){

//设置初始数据setdata()

a.dataTransfer.setData("Text",a.target.id)

}

function mover(a){

//把系统默认鼠标或拖拽操作屏蔽掉

a.preventDefault()//屏蔽系统默认的dragover引发的效果

}

function mdrop(a){

a.preventDefault()

var data=a.dataTransfer.getData("Text")

a.target.appendChild(document.getElementById(data))

}

</script>

<body>

<div id="mydiv" style="height:568pxwidth:500pxborder:2px solid" ondragover="mover(event)" ondrop="mdrop(event)"></div>

<img id="myimg1" src="vt.jpg" width="250" height="200" draggable="true" ondragstart="mstart(event)">

<img id="myimg2" src="vt.jpg" width="250" height="200" draggable="true" ondragstart="mstart(event)">

<img id="myimg3" src="vt.jpg" width="250" height="200" draggable="true" ondragstart="mstart(event)">

<br>

</body>

</html>