直观的理解div拖拽:当鼠标对着可拖拽部分按住后并拖动,div会跟着鼠标一起运动,并且其运动空间限制在浏览器内部,当放开鼠标时,则div停止运动。

实现div拖拽需要三个重要的事件:

(1)onmousedown-鼠标按下事件

(2)onmousemove-鼠标移动事件

(3)onmouseup-鼠标抬起事件

当鼠标移出浏览器后再回到浏览器内部时,会丢失对div的控制,需要再次按下鼠标移动div,为了改善这一小问题,代码中使用了setCapture和releaseCapture。

其中,setCapture方法是用于监视鼠标操作事件,即使鼠标移出浏览器照样能够捕捉到鼠标位置,当鼠标移回浏览器内部时,此时div依然跟随着鼠标移动;当然,releaseCapture方法就是释放对鼠标操作事件的监视。

需要注意的重点是div的坐标问题,当鼠标按住div后移动,div要跟着鼠标时时改变位置坐标。

效果展示

最新文章

  1. 解决Inno Setup制作中文安装包在非中文系统上显示乱码的问题
  2. Provisioning Profile文件在哪找?
  3. 20145338 《Java程序设计》第1周学习总结
  4. 5.21_启程日本二面_1 vs 1
  5. UVA Mapping the Swaps
  6. NOIP2014解方程
  7. mysql source命令导入sql文件效率分析和索引整理
  8. Javascript或jQuery方法产生任意随机整数
  9. Python学习--10 面向对象编程
  10. http://mozilla.debian.net/
  11. PostgreSql问题:ERROR: operator does not exist: timestamp without time zone > character varying
  12. Java多线程:线程与进程
  13. 【Java】 剑指offer(30) 包含min函数的栈
  14. [转载]Meta Learning单排小教学
  15. 练习题|MySQL
  16. Javascript之数组遍历
  17. JS数字格式化(用逗号隔开 代码已做了修改 支持0-9位逗号隔开)
  18. memory-based 协同过滤(CF)方法
  19. pandas 基础用法
  20. qwq

热门文章

  1. iOS多播放器封装
  2. Oracle存储过程语法
  3. php.exe php-cgi.exe php-win.exe的区别
  4. 服务升级中的zookeeper
  5. C# 解析JSON的几种办法
  6. 让不支持h5新标签的浏览器支持新标签
  7. iOS CoreData primitive accessor
  8. 学习android 官方文档
  9. 使用mongodump将mongodb数据备份带JOSN文件
  10. C++常用特性原理解析