document.getElementById(obj).setCapture(); 
document.getElementById(obj).releaseCapture();
俘获对象
释放对象

解决方案 »

  1.   

    var obj = document.getElementById(obj);
    obj.srcElement;
    or 
    obj.target;
      

  2.   

    <script language="javascript">
    var huc = ''
    var imax = <%=t%>; 
    document.onmouseup = hue;
    document.onmousemove = hus;
    var X;
    var Y;
    function hum(Object, event)
    {
    huc = Object.id;
    document.getElementById(huc).setCapture();  //'''''''''''''''''
    X = event.x - document.getElementById(huc).style.pixelLeft;
    Y = event.y - document.getElementById(huc).style.pixelTop; document.getElementById(huc).style.zIndex = imax;   
    imax = imax + 1;
    }
    function hus()
    {
    if(huc!=''){
    document.getElementById(huc).style.left = event.x - X;
    document.getElementById(huc).style.top = event.y - Y;
     }
    }function hue()
    {
     
    document.getElementById(huc).releaseCapture();
    huc='';
     
    }
    function hud(d)
    {
    document.getElementById(d).style.visibility = 'hidden';
    }
    </script>
      

  3.   

    setCaptrue及release都是ie浏览器专有的比如做一个拖拽效果
    捕获事件一般都要涉及onmousedown,onmouseover等等
    如果不setCapture的话
    在获取并对象拖动的时候,如果鼠标离开了对象(比如速度过快的时候),就会触发别的对象onmouseout或者onmouseover事件,那么拖拽的对象就会丢失.这个东西很好,致命的就是不跨浏览器.