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 相关文章推荐
基于jquery的鼠标拖动效果代码
May 30 Javascript
js自动下载文件到本地的实现代码
Apr 28 Javascript
JQuery中使用Ajax赋值给全局变量失败异常的解决方法
Aug 18 Javascript
jQuery实现向下滑出的二级菜单效果实例
Aug 22 Javascript
javascript显示倒计时控制按钮的简单实现
Jun 07 Javascript
微信小程序五星评分效果实现代码
Apr 06 Javascript
js弹性势能动画之抛物线运动实例详解
Jul 27 Javascript
使用express+multer实现node中的图片上传功能
Feb 02 Javascript
微信小程序开发之tabbar图标和颜色的实现
Oct 17 Javascript
vue 开发企业微信整合案例分析
Dec 02 Javascript
小程序如何定位所在城市及发起周边搜索
Feb 11 Javascript
React四级菜单的实现
Apr 08 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
谏山创故乡大分县日田市水坝将设立《进击的巨人》立艾伦、三笠以及阿尔敏的铜像!
2020/03/06 日漫
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
JS trim去空格的最佳实践
2011/10/30 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
在页面上用action传递参数到后台出现乱码的解决方法
2013/12/31 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
vue图片加载与显示默认图片实例代码
2017/03/16 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
详解webpack+express多页站点开发
2017/12/22 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
vue中提示$index is not defined错误的解决方式
2020/09/02 Javascript
vue3.0 上手体验
2020/09/21 Javascript
解决nuxt 自定义全局方法,全局属性,全局变量的问题
2020/11/05 Javascript
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
详解Python中heapq模块的用法
2016/06/28 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
Python序列化与反序列化pickle用法实例
2019/11/11 Python
Python遍历字典方式就实例详解
2019/12/28 Python
Python交互环境下打印和输入函数的实例内容
2020/02/16 Python
浅谈pandas.cut与pandas.qcut的使用方法及区别
2020/03/03 Python
智能家居、吸尘器、滑板车、电动自行车网上购物:Geekmaxi
2021/01/18 全球购物
Columbia Sportswear法国官网:全球户外品牌
2020/09/25 全球购物
九年级英语教学反思
2014/01/31 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
对教师的评语
2014/04/28 职场文书
过程装备与控制工程专业求职信
2014/07/02 职场文书
亲子阅读的活动方案
2014/08/15 职场文书
2014年远程教育工作总结
2014/12/09 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
活着观后感
2015/06/03 职场文书