js利用拖放实现添加删除


Posted in Javascript onAugust 27, 2020

本文实例为大家分享了js利用拖放实现添加删除的具体代码,供大家参考,具体内容如下

实现的效果如下:

js利用拖放实现添加删除

代码如下:

<!DOCTYPE html>
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html" charset="utf-8">
 <title>通过拖放实现添加删除</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联盟</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");
 //开始拖动事件的事件监听器
 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){
  //创建一个新的div
  let newEle=document.createElement("div");
  //以当前事件为该元素生成唯一的ID
  newEle.id=new Date().getUTCMilliseconds();
  //该元素内容为“拖”过来的数据
  newEle.innerHTML=text.substring(6);
  //设置该元素允许拖动
  newEle.draggable="true";
  //为该事件的开始拖动事件指定监听器
  newEle.function(event){
   //将被拖动元素的id属性值设置成被拖动的数据
   event.dataTransfer.setData("text/plain","<remove>"+newEle.id);
  }
  dest.appendChild(newEle);
  }
 }

 //当把被拖动元素“放”到垃圾篓上时触发该方法
 document.getElementById("gb").function(event){
  let id=event.dataTransfer.getData("text/plain");
  //如果id以<remove>开头
  if (id.indexOf("<remove>")==0) {
  //根据“拖”过来的数据,获取被拖动的元素
  let target=document.getElementById(id.substring(8));
  //删除被拖动的元素
  dest.removeChild(target);
  }
 }

 //ondragover 被拖动的元素进入本元素的范围内拖动时会不断地触发该事件
 document.function(event){
  //取消事件的默认行为
  return false;
 }

 //ondrop 其他元素被放到了本元素中时触发该事件
 document.function(event){
  //取消事件的默认行为
  return false;
 }
 </script>
</body>
</html>

到这里实现拖放结束。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Mootools 1.2教程 事件处理
Sep 15 Javascript
javascript 节点排序 2
Jan 31 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
May 14 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 Javascript
jQuery插件实现大图全屏图片相册
Mar 14 Javascript
javascript实现随机显示星星特效
Jan 28 Javascript
Angularjs 手写日历的实现代码(不用插件)
Oct 18 Javascript
React Native 截屏组件的示例代码
Dec 06 Javascript
Vue中的基础过渡动画及实现原理解析
Dec 04 Javascript
JS实现的新闻列表自动滚动效果示例
Jan 30 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 Javascript
react实现同页面三级跳转路由布局
Sep 26 Javascript
基于jquery实现彩色投票进度条代码解析
Aug 26 #jQuery
Javascript call及apply应用场景及实例
Aug 26 #Javascript
Javascript类型判断相关例题及解析
Aug 26 #Javascript
Javascript基于OOP实实现探测器功能代码实例
Aug 26 #Javascript
Javascript如何实现扩充基本类型
Aug 26 #Javascript
Javascript var变量删除原理及实现
Aug 26 #Javascript
js实现车辆管理系统
Aug 26 #Javascript
You might like
php simplexmlElement操作xml的命名空间实现代码
2011/01/04 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
反射调用private方法实践(php、java)
2015/12/21 PHP
CI框架使用composer安装的依赖包步骤与方法分析
2016/11/21 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
js弹窗代码 可以指定弹出间隔
2010/07/03 Javascript
读jQuery之一(对象的组成)
2011/06/11 Javascript
JS字符串截取函数实例
2013/12/27 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
js实现仿Discuz文本框弹出层效果
2015/08/13 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
2016/08/15 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
Vue-Router模式和钩子的用法
2018/02/28 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
JS实现判断移动端PC端功能
2020/02/21 Javascript
pycharm 使用心得(二)设置字体大小
2014/06/05 Python
对pandas中Series的map函数详解
2018/07/25 Python
python基础梳理(一)(推荐)
2019/04/06 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
Python3监控疫情的完整代码
2020/02/20 Python
Python持续监听文件变化代码实例
2020/07/22 Python
Django中如何用xlwt生成表格的方法步骤
2021/01/31 Python
CSS3中Color的一些特性介绍
2012/05/27 HTML / CSS
受希腊女神灵感的晚礼服、鸡尾酒礼服和婚纱:THEIA
2018/04/15 全球购物
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
萨克斯第五大道英国:Saks Fifth Avenue英国
2019/04/01 全球购物
领导干部考察材料
2014/02/08 职场文书
美食节策划方案
2014/05/26 职场文书
小学校长汇报材料
2014/08/20 职场文书
竞选大队干部演讲稿
2014/09/11 职场文书
国际贸易实务实训报告
2014/11/05 职场文书
家长意见和建议怎么写
2015/06/04 职场文书
企业年会祝酒词
2015/08/11 职场文书
会计主管竞聘书
2015/09/15 职场文书