<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
li{ margin:10px; width:100px; height:30px; list-style:none; background:yellow;}
#div1{ width:200px; height:200px; background:red; margin:200px;}
</style>
<script type="text/javascript">
//拖放 draggable :设置为true 就可以拖放了
//拖拽元素事件:ondragstart 拖拽前触发
//ondrag 拖拽之间触发
//ondragend 拖拽结束触发
window.onload=function(){
var aLi=document.getElementsByTagName("li");
var oDiv=document.getElementById("div1");
var i=0;
for(var i=0;i<aLi.length;i++)
{
aLi[i].ondragstart=function()//拖拽前触发
{
this.style.background="green";
}
aLi[i].ondrag=function()//开始与结束连续触发
{
//document.title=i++;
}
aLi[i].ondragend=function()//拖拽结束触发
{
this.style.background="yellow";
}
}
//目标元素事件:
//ondragenter 进入目标元素触发,相当于mouseover
//ondragover 进入目标,离开目标之间,连续触发
//ondragleave 离开目标元素触发,相当于mouseout
//drop 在目标元素上释放鼠标触发
oDiv.ondragenter=function()
{
this.style.background="green";
}
oDiv.ondragover=function(ev)//enter和leave之间触发
{
//document.title=i++;
ev.preventDefault();
}
oDiv.ondragleave=function()
{
this.style.background="red";
}
oDiv.ondrop=function()
{
alert(123);//要想触发ondrop事件,就必须阻止ondragover默认事件。
}
//事件执行顺序:drop不触发的时候
//dragstart>drag>dragenter>dragover>dragleave>dragend
//事件执行顺序: drop触发的时候(dragover的时候阻止默认事件)
//dragstart>drag>dragenter>dragover>drop>dragend
}
</script>
</head>
<body>
<ul>
<li draggable="true">a</li>
<li draggable="true">b</li>
<li draggable="true">c</li>
</ul>
<div id="div1"></div>
</body>
</html>