js利用拖放實現(xiàn)添加刪除
更新時間:2020年08月27日 08:42:23 作者:mo-2016
這篇文章主要為大家詳細介紹了js利用拖放實現(xiàn)添加刪除,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js利用拖放實現(xiàn)添加刪除的具體代碼,供大家參考,具體內容如下
實現(xiàn)的效果如下:

代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="utf-8">
<title>通過拖放實現(xiàn)添加刪除</title>
<style type="text/css">
div>div{
display: inline-block;
padding: 10px;
background-color: #aaa;
margin: 3px;
}
</style>
</head>
<body>
<!-- 文件所在地 -->
<div style="width: 600px;border: 1px solid black;">
<h2>可將喜歡的項目拖進收藏夾</h2>
<div draggable="true" "dsHandler(event);">瘋狂Java聯(lián)盟</div>
<div draggable="true" "dsHandler(event);">瘋狂軟件教育</div>
<div draggable="true" "dsHandler(event);">關于我們</div>
<div draggable="true" "dsHandler(event);">瘋狂成員</div>
</div>
<!-- 收藏夾 -->
<div id="dest" style="width: 400px;height: 260px;border: 1px solid black;float: left;">
<h2 "return false;">收藏夾</h2>
</div>
<!-- 垃圾簍 -->
<img id="gb" draggable="false" alt="垃圾簍" src="C:\Users\Administrator\Desktop\timg.jpg" style="float: left;width: 200px;height: 200px;">
<!-- js -->
<script type="text/javascript">
let dest=document.getElementById("dest");
//開始拖動事件的事件監(jiān)聽器
let dsHandler=function(event){
event.dataTransfer.setData("text/plain","<item>"+event.target.innerHTML);
}
dest.function(event){
event.preventDefault();
let text=event.dataTransfer.getData("text/plain");
//如果該text以<item>開頭
if(text.indexOf("<item>")==0){
//創(chuàng)建一個新的div
let newEle=document.createElement("div");
//以當前事件為該元素生成唯一的ID
newEle.id=new Date().getUTCMilliseconds();
//該元素內容為“拖”過來的數(shù)據(jù)
newEle.innerHTML=text.substring(6);
//設置該元素允許拖動
newEle.draggable="true";
//為該事件的開始拖動事件指定監(jiān)聽器
newEle.function(event){
//將被拖動元素的id屬性值設置成被拖動的數(shù)據(jù)
event.dataTransfer.setData("text/plain","<remove>"+newEle.id);
}
dest.appendChild(newEle);
}
}
//當把被拖動元素“放”到垃圾簍上時觸發(fā)該方法
document.getElementById("gb").function(event){
let id=event.dataTransfer.getData("text/plain");
//如果id以<remove>開頭
if (id.indexOf("<remove>")==0) {
//根據(jù)“拖”過來的數(shù)據(jù),獲取被拖動的元素
let target=document.getElementById(id.substring(8));
//刪除被拖動的元素
dest.removeChild(target);
}
}
//ondragover 被拖動的元素進入本元素的范圍內拖動時會不斷地觸發(fā)該事件
document.function(event){
//取消事件的默認行為
return false;
}
//ondrop 其他元素被放到了本元素中時觸發(fā)該事件
document.function(event){
//取消事件的默認行為
return false;
}
</script>
</body>
</html>
到這里實現(xiàn)拖放結束。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JavaScript條件判斷_動力節(jié)點Java學院整理
JavaScript使用if () { ... } else { ... }來進行條件判斷。下通過語句代碼給大家詳細介紹js 條件判斷的基本知識,需要的的朋友參考下吧2017-06-06
easyui-edatagrid.js實現(xiàn)回車鍵結束編輯功能的實例
下面小編就為大家?guī)硪黄猠asyui-edatagrid.js實現(xiàn)回車鍵結束編輯功能的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04

