欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js利用拖放實(shí)現(xiàn)添加刪除

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

本文實(shí)例為大家分享了js利用拖放實(shí)現(xiàn)添加刪除的具體代碼,供大家參考,具體內(nèi)容如下

實(shí)現(xiàn)的效果如下:

代碼如下:

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html" charset="utf-8">
 <title>通過拖放實(shí)現(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>可將喜歡的項目拖進(jìn)收藏夾</h2>
 <div draggable="true" "dsHandler(event);">瘋狂Java聯(lián)盟</div>
 <div draggable="true" "dsHandler(event);">瘋狂軟件教育</div>
 <div draggable="true" "dsHandler(event);">關(guān)于我們</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");
  //以當(dāng)前事件為該元素生成唯一的ID
  newEle.id=new Date().getUTCMilliseconds();
  //該元素內(nèi)容為“拖”過來的數(shù)據(jù)
  newEle.innerHTML=text.substring(6);
  //設(shè)置該元素允許拖動
  newEle.draggable="true";
  //為該事件的開始拖動事件指定監(jiān)聽器
  newEle.function(event){
   //將被拖動元素的id屬性值設(shè)置成被拖動的數(shù)據(jù)
   event.dataTransfer.setData("text/plain","<remove>"+newEle.id);
  }
  dest.appendChild(newEle);
  }
 }

 //當(dāng)把被拖動元素“放”到垃圾簍上時觸發(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 被拖動的元素進(jìn)入本元素的范圍內(nèi)拖動時會不斷地觸發(fā)該事件
 document.function(event){
  //取消事件的默認(rèn)行為
  return false;
 }

 //ondrop 其他元素被放到了本元素中時觸發(fā)該事件
 document.function(event){
  //取消事件的默認(rèn)行為
  return false;
 }
 </script>
</body>
</html>

到這里實(shí)現(xiàn)拖放結(jié)束。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論