拖放API&拖拽删除Dome
拖放API1、拖动元素拖放API引入了一些新的事件,其中就有一些事件由拖动的元素触发(源元素),这些事件称之为源元素事件;拖动属性-draggable,设置为true时,表示一个元素允许被拖动拖动源元素事件:-dragstart:当元素开始被拖动时触发-drag:元素正在被拖动的过程中-dragend:拖动结束时触发2、目标元素事件由目标元素触发的事件,叫目标元素事件-dra...
·
拖放API
1、拖动元素
拖放API引入了一些新的事件,其中就有一些事件由拖动的元素触发(源元素),这些事件称之为源元素事件;
拖动属性
-draggable,设置为true时,表示一个元素允许被拖动
拖动源元素事件:
-dragstart:当元素开始被拖动时触发
-drag:元素正在被拖动的过程中
-dragend:拖动结束时触发
2、目标元素事件
由目标元素触发的事件,叫目标元素事件
-dragenter: 拖动过程中,鼠标第一次进入目标元素区域时触发
-dragover:当鼠标拖动到目标元素时触发
-drop:当拖动操作在目标元素区域执行投放时,触发该事件(等同于当鼠标在目标区域内松开时触发)
-dragleave:当鼠标离开目标区域时触发
注意,执行以上事件的函数是,需要阻止默认行为:
var e = window.event || arguments[0];
e.preventDefault();
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
#div1{
width: 83px;
height: 83px;
background-image: url(hui.png);
background-size:83px 83px;
margin-left: 40px;
}
#ul1{
list-style: none;
}
li{
width: 83px;
height: 83px;
background-image: url(files.png);
background-size:83px 83px;
}
</style>
<script>
function(){
var aLi = document.getElementsByTagName("li");
var oDiv = document.getElementById("div1");
for(var i=0; i<aLi.length; i++){
aLi[i].ondragstart = function(evt){
var e = evt || event;
e.dataTransfer.setData("Text",e.target.id);
}
}
oDiv.ondragover=function(evt){
var e = evt || event;
e.preventDefault();
}
oDiv.ondrop = function(evt){
var e = evt || event;
e.preventDefault();
var data = e.dataTransfer.getData("Text");
var aim = document.getElementById(data)
e.target.appendChild(aim);
e.target.removeChild(aim);
}
}
</script>
</head>
<body>
<div id="div1" draggable="true">
</div>
<ul id="ul1">
<li draggable="true" id="li1">
</li>
<li draggable="true" id="li2">
</li>
<li draggable="true" id="li3">
</li>
<li draggable="true" id="li4">
</li>
<li draggable="true" id="li5">
</li>
<li draggable="true" id="li6">
</li>
</ul>
</body>
</html>
更多推荐
已为社区贡献1条内容
所有评论(0)