你判断下是否超出body范围,超出就不设置div的left和top

解决方案 »

  1.   

    能把div移出窗体呀,也太强大了吧,问题是鼠标不在窗体内还能点住div吗
    我看看有JS实现鼠标移到div上, div就跑开,窗体中有时就看不到div,
    是不是跑到窗体外了,你可以参考下,用的也是div的顶点left,top
    当鼠标移上去div的点left,top都会加上一个数字,这样就会跑出窗体了
    不知对你有没有用
      

  2.   

    不是楼上说的把div移出浏览器,那是不可能的是指移动过程中,鼠标移动到了浏览器工具栏或者完全移出了浏览器的情况,此时mouseup无法触发我的事件;
      

  3.   

    几个月没来,第一个回的帖子。我倒觉得FireFox在这方面处理不好,IE处理鼠标事件用setCapture和releaseCapture很完美啊。在mousedown时,加入objxxxx.setCapture(),在mouseup时,加入objxxxx.releaseCapture(),这样就能全屏幕捕捉鼠标事件了,这方面我反而FIreFox的event.preventDefault()有点问题。
      

  4.   

    OK,已经解决:
    mousedown时:
    if($("name").setCapture){//IE
       $("name").setCapture();
    }
    else if(window.captureEvents){//FF
       window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP|Event.STARTSELECT);
    }mouseUp时:
    if($("name").releaseCapture){
          $("name").releaseCapture();
    }
    else if(window.releaseEvents){
          window.releaseEvents(Event.MOUSEMOVE|Event.MOUSEUP|Event.STARTSELECT|);
    }