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 相关文章推荐
TBCompressor js代码压缩
Jan 05 Javascript
初学js插入节点appendChild insertBefore使用方法
Jul 04 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
js格式化金额可选是否带千分位以及保留精度
Jan 28 Javascript
Jquery解析Json格式数据过程代码
Oct 17 Javascript
JavaScript tab选项卡插件实例代码
Feb 23 Javascript
Jquery 自定义事件实现发布/订阅的简单实例
Jun 12 Javascript
KnockoutJS 3.X API 第四章之表单textInput、hasFocus、checked绑定
Oct 11 Javascript
AngularJS中如何使用echart插件示例详解
Oct 26 Javascript
ES6新特性一: let和const命令详解
Apr 20 Javascript
jquery 动态遍历select 赋值的实例
Sep 12 jQuery
vue 中的动态传参和query传参操作
Nov 09 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
超级简单的发送邮件程序
2006/10/09 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
Zend Framework动作助手Json用法实例分析
2016/03/05 PHP
PHP进行批量任务处理不超时的解决方法
2016/07/11 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
php-fpm服务启动脚本的方法
2018/04/27 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
jQuery+JSON+jPlayer实现QQ空间音乐查询功能示例
2013/06/17 Javascript
jQuery中document与window以及load与ready 区别详解
2014/12/29 Javascript
JS实现仿苹果底部任务栏菜单效果代码
2015/08/28 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
Python制作词云的方法
2018/01/03 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
pycharm设置注释颜色的方法
2018/05/23 Python
Python装饰器用法实例总结
2018/05/26 Python
python实现决策树分类(2)
2018/08/30 Python
python实现Zabbix-API监控
2018/09/17 Python
python+selenium实现自动抢票功能实例代码
2018/11/23 Python
python经典趣味24点游戏程序设计
2019/07/26 Python
简单分析python的类变量、实例变量
2019/08/23 Python
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
计算机网络专业推荐信
2013/11/24 职场文书
户籍证明的格式
2014/01/13 职场文书
销售职业生涯规划范文
2014/03/14 职场文书
学生个人自我鉴定
2014/03/26 职场文书
纪检干部对照检查材料
2014/08/22 职场文书
2014年党总支工作总结
2014/12/18 职场文书
幼儿园小班个人总结
2015/02/12 职场文书
2015年学校教育教学工作总结
2015/04/22 职场文书
2016春季运动会前导词
2015/11/25 职场文书
2022年显卡天梯图(6月更新)
2022/06/17 数码科技