加这个div, up 事件就必须绑定给document ,否则会出现问题!


版本2 :


版本3 :

是正按下ctrl + a 再拖动的时候,会出现, 抖影子

这个解决办法,也是有兼容问题,我就不写了,直接截图过来!

/** 提取一个专门用来设置拖拽的函数* 参数:开启拖拽的元素*/function drag(obj){//当鼠标在被拖拽元素上按下时,开始拖拽  onmousedownobj.onmousedown = function(event){//设置box1捕获所有鼠标按下的事件/** setCapture()*   - 只有IE支持,但是在火狐中调用时不会报错,*      而如果使用chrome调用,会报错*//*if(box1.setCapture){box1.setCapture();}*/obj.setCapture && obj.setCapture();event = event || window.event;//div的偏移量 鼠标.clentX - 元素.offsetLeft//div的偏移量 鼠标.clentY - 元素.offsetTopvar ol = event.clientX - obj.offsetLeft;var ot = event.clientY - obj.offsetTop;//为document绑定一个onmousemove事件document.onmousemove = function(event){event = event || window.event;//当鼠标移动时被拖拽元素跟随鼠标移动 onmousemove//获取鼠标的坐标var left = event.clientX - ol;var top = event.clientY - ot;//修改box1的位置obj.style.left = left+"px";obj.style.top = top+"px";};//为document绑定一个鼠标松开事件document.onmouseup = function(){//当鼠标松开时,被拖拽元素固定在当前位置    onmouseup//取消document的onmousemove事件document.onmousemove = null;//取消document的onmouseup事件document.onmouseup = null;//当鼠标松开时,取消对事件的捕获obj.releaseCapture && obj.releaseCapture();};/** 当我们拖拽一个网页中的内容时,浏览器会默认去搜索引擎中搜索内容,*     此时会导致拖拽功能的异常,这个是浏览器提供的默认行为,*  如果不希望发生这个行为,则可以通过return false来取消默认行为* * 但是这招对IE8不起作用*/return false;};}


最后一个版本,好像就是加入,scrollTop scrollLeft!

至此拖拽就基本搞定了,谢谢大家阅读,祝大家学习愉快!开心生活!

开心截图,拖拽大作战相关推荐

  1. Qt 可拖拽 大小可调 方框

    Abstract 参考QGraphicItem, 拖拽窗口大小例子基本思路,结合公司项目需要,写出可以拖拽及调整大小的边框,并且边框内可以划分2x2或3x3网格 效果图 演示视频 链接: https: ...

  2. VisualDrag低代码拖拽模板

    目录 背景 技术&文档 二开优化方案 1. 优化侧边栏 2. 优化图片插入 3. 新增可插入画布的组件 4. 解决组件鼠标默认事件冲突的问题 数据保存对接&页面生成预览 保存对接 生成 ...

  3. 【大屏项目】SpringBoot + Vue 实现的可视化拖拽编辑的

    简介 大屏设计(AJ-Report)是一个可视化拖拽编辑的全开源项目,直观,酷炫,具有科技感的图表工具.内置的基础功能包括数据源,数据集,报表管理. 多数据源支持,内置mysql.elasticsea ...

  4. SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目

    点击关注公众号,利用碎片时间学习 来源:爪哇笔记 简介 大屏设计(AJ-Report)是一个可视化拖拽编辑的全开源项目,直观,酷炫,具有科技感的图表工具.内置的基础功能包括数据源,数据集,报表管理. ...

  5. 基于 Spring Boot + Vue 实现的可视化拖拽编辑的大屏项目

    大家好,今天给小伙伴们分享一个基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目: 简介 这个是一个开源的一个BI平台,酷炫大屏展示,能随时随地掌控业务动态,让每个决策都有数据支撑 ...

  6. 基于 SpringBoot + Vue 实现的可视化拖拽编辑的大屏项目

    整理:抓哇笔记 简介 大屏设计(AJ-Report)是一个可视化拖拽编辑的全开源项目,直观,酷炫,具有科技感的图表工具.内置的基础功能包括数据源,数据集,报表管理. 多数据源支持,内置mysql.el ...

  7. html5 上传超大文件,HTML5教程 如何拖拽上传大文件

    本篇教程探讨了HTML5教程 如何拖拽上传大文件,希望阅读本篇文章以后大家有所收获,帮助大家HTML5+CSS3从入门到精通 . < 前言: 大文件传输一直是技术上的一大难点.文件过大时,一些性 ...

  8. 截图后粘贴或拖拽上传

    在浏览器中使用截图工具截图后直接粘贴到页面上传,以及拖拽到页面标签区域上传 主要使用了粘贴(paste)事件,以及拖拽(drag)事件,其中拖拽时要禁用浏览器的默认将图片打开的行为 例子: HTML部 ...

  9. [开源应用]利用HTTPHandler+resumableJs+HTML5实现拖拽上传[大]文件

    前言: 大文件传输一直是技术上的一大难点.文件过大时,一些性提交所有的内容进内存是不现实的.大文件带来问题还有是否支持断点传输和多文件同时传输. 本文以resumableJs为例,介绍了如何在ASP. ...

最新文章

  1. 用AI还原李焕英老照片动态影像
  2. 【AOP 面向切面编程】Android Studio 使用 AspectJ 监控方法运行 ( 定义连接点注解 | 定义 Aspect 切面 | 定义切入点 | 逐个处理切入点的各个连接点 )
  3. javascript变量提前声明
  4. java构造方法,构造代码块,静态代码块的执行顺序
  5. MySQL 非空约束(NOT NULL)入门
  6. jquery选择器从认识到使用初级篇
  7. SpringCloud下的springboot工程,访问jsp页面报404问题
  8. 安装Zorin os
  9. vip forum.php,DZ论坛突破VIP回复查看内容
  10. 高等数学解题常用公式笔记总结
  11. 【学习笔记】山东大学生物信息学-08 编程基础与网页制作
  12. MATLAB数值分析学习笔记:线性代数方程组的求解和高斯消元法
  13. 计算机网络——各层次网络互联设备
  14. 【QT-版本】QT版本选择问题
  15. Java初学 通过接口实现猫狗跳高
  16. 机器学习Python学习——逻辑斯蒂回归(Logistic Regression)
  17. CAD文件版本怎么转换?如何将高版本转换成低版本?
  18. DevData Talks | 张乐、茹炳晟、应阔浩、任晶磊:研发效能实践的2022年复盘和展望
  19. android DAY1--搭建开发环境与Helloworld
  20. 2014、2015年国家级虚拟仿真实验教学中心入选名单

热门文章

  1. JMeter jp@gc - PerfMon Metrics Collector插件
  2. https访问报证书错误_访问https 证书错误
  3. 批量创建100个文件夹,只需10秒~
  4. 在CSDN中如何快速转载文章
  5. 企业舆情风险管控方案
  6. 英特尔的低于服务器的作用是什么,什么是英特尔至强服务器,它和酷睿CPU服务器的区别是什么?...
  7. processing 模拟arduino ide串口监视器发送命令信息(string类型)
  8. C/C++家族族谱管理系统
  9. 前端重新部署如何通知用户刷新网页?
  10. java虚拟机第三版学习