<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> div{ 100px; height: 100px; background: red; position: absolute; left: 0; top: 0; } </style> <script src="jquery-2.2.1.min.js"></script> <script> $(function(){ var disx = 0; var disy = 0; $("div").mousedown(function(ev){ disx = ev.pageX - $(this).offset().left;//鼠标点击到块边缘的距离 进行记录 当块移动后用鼠标的位置-到块的距离= 块定位的距离 disy = ev.pageY - $(this).offset().top; //给document加事件 鼠标怎么也不会脱离 $(document).mousemove(function(ev){ $("div").css("left",ev.pageX - disx); $("div").css("top",ev.pageY - disy); }) $(document).mouseup(function(){ $(document).off();//移除事件 }) return false; }) }) </script> </head> <body> <div></div> </body> </html>