由于这样必须选中div才能移动,并且移动的快了鼠标就脱离div了,就移不动了javascript
19 $(document).mousemove(function(e){ 20 $('#div1').offset({ 21 left:e.pageX, 22 top:e.pageY 23 }) 24 })
documentcss
19 $(document).mousemove(function(e){ 20 $('#div1').offset({ 21 left:e.pageX, 22 top:e.pageY 23 }) 24 })
pageX和pageYhtml
20 $('#div1').offset({ 21 left:e.pageX, 22 top:e.pageY 23 })
给document添加mousedown事件java
18 $(document).mousedown(function(){ 19 $(document).mousemove(function(e){ 20 $('#div1').offset({ 21 left:e.pageX, 22 top:e.pageY 23 }) 24 })
再添加mouseup事件解决鼠标的松开的div还跟着动的问题jquery
16 <script> 17 $(function(){ 18 $(document).mousedown(function(){ 19 $(document).mousemove(function(e){ 20 $('#div1').offset({ 21 left:e.pageX, 22 top:e.pageY 23 }) 24 }) 25 $(document).mouseup(function(){ 26 $(document).off('mousemove') 27 }) 28 }) 29 30 }) 31 </script>
案例描述:实现一个简单的拖拽元素的功能.spa
案例重点:该案例自己很是简单,可是综合运用了键盘事件和事件对象。code
1 <!DOCTYPE html> 2 <html lang="en"> 3 <style> 4 </style> 5 <head> 6 <meta charset="UTF-8"> 7 <title>演示文档</title> 8 <script type="text/javascript" src="jquery-3.1.1.min.js"></script> 9 <style type="text/css"> 10 div{width: 100px;height: 100px;border-radius: 50px;background: orange;position: absolute;} 11 </style> 12 </style> 13 </head> 14 <body> 15 <div id="div1"></div> 16 <script> 17 $(function(){ 18 $(document).mousedown(function(){ 19 $(document).mousemove(function(e){ 20 $('#div1').offset({ 21 left:e.pageX, 22 top:e.pageY 23 }) 24 }) 25 $(document).mouseup(function(){ 26 $(document).off('mousemove') 27 }) 28 }) 29 30 }) 31 </script> 32 </body> 33 </html>