<script type="text/javascript">
<!--
window.onload=function(){
  objDiv = document.getElementById('drag');
  drag(objDiv);
};

function drag(dv){
  dv.onmousedown=function(e){
      var d=document;
      e = e || window.event;
     
      var x= e.layerX || e.offsetX;
      var y= e.layerY || e.offsetY;
     
      //设置捕获范围
      if(dv.setCapture){
          dv.setCapture();
      }else if(window.captureEvents){
          window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP);
      }
     

      d.onmousemove=function(e){
           e= e || window.event;
           if(!e.pageX)e.pageX=e.clientX;
           if(!e.pageY)e.pageY=e.clientY;
           var tx=e.pageX-x;
           var ty=e.pageY-y;
          
           dv.style.left=tx;
           dv.style.top=ty;
      };

      d.onmouseup=function(){
           //取消捕获范围
           if(dv.releaseCapture){
              dv.releaseCapture();
           }else if(window.captureEvents){
              window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
           }
          
          //清除事件
          d.onmousemove=null;
          d.onmouseup=null;
      };
   };
}
//-->
</script>

<div >被触发的范围

,或者作用域。
如果不设置,则div只在当前窗口内被触发。如果设置,则在整个浏览器范围内被触发,也就是可以拖到浏览器外面

相关文章:

  • 2022-12-23
  • 2022-01-09
  • 2021-11-13
  • 2021-10-19
  • 2021-10-20
  • 2021-10-20
  • 2019-03-10
  • 2021-12-21
猜你喜欢
  • 2022-01-24
  • 2022-12-23
  • 2022-02-14
  • 2021-09-09
  • 2021-04-13
相关资源
相似解决方案