退拽原理2
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
#div1{
width: 100px;
height: 100px;
background: red;
position: absolute;
}
</style>
<script>
window.onload=function(){
// 1.拖拽的时候,如果有文字被选中,会产生问题:
// 原因:当鼠标按下的时候,如果页面中有文字被选中,那么会触发浏览器默认拖拽文字的效果
// 解决:
// 标准:阻止默认行为
// 非IE下:全局捕获
// 拖拽图片也会有问题,解决办法同上
var oDiv=document.getElementById("div1");
oDiv.onmousedown=function(ev){
var ev=ev||event;
// 鼠标的位置-当前div距离浏览器左边的距离
var disX=ev.clientX-this.offsetLeft;
var disY=ev.clientY-this.offsetTop;
// IE下:用全局捕获就可以实现
if(oDiv.setCapture){
oDiv.setCapture();
}
document.onmousemove=function(ev){
var ev=ev||event;
oDiv.style.left=ev.clientX-disX+"px";
oDiv.style.top=ev.clientY-disY+"px";
}
document.onmouseup=function(){
document.onmousemove=document.onmouseup=null;
// IE下
//释放全局捕获 releaseCapture();
if(oDiv.releaseCapture){
oDiv.releaseCapture();
}
}
return false;
}
}
</script>
</head>
<body>
afdasssssssssss
<div id="div1"></div>
</body>
</html>

浙公网安备 33010602011771号