var curObj = document.elementFromPoint(event.x, event.y);用来获取在(x,y)坐标点上的元素。
 event.x, event.y指的就是坐标点。你只要判断一下,curObj 这个对象是否是div_x,就知道这个点在不在这个对象内部了

解决方案 »

  1.   

    高手!怎么判断element是button还是div还是table?谢谢!
      

  2.   

    出问题了!这样得到的结果是<html></html>,不是我想要的div,这个点的确实在div内!我是是通过vs2005调试看到的:tagName是"HTML"。大家帮我看看到底是什么问题!
    急求!
      

  3.   

     我用就是ie7,得到的结果是<html>。实在找不到为什么了!
    等待达人!
      

  4.   

    我把代码贴出来,热心的csdner帮我在你们的电脑上试试,看有没有什么问题?<html>
    <head>
    <script type="text/javascript">
    var y_0,top_0,top;
    var isMove = false;
    function getFocus(obj)
    {
        obj.setCapture();
        obj.style.zIndex = "100";
        obj.style.left = "510px";
        top = parseInt(obj.style.top);
        top_0 = parseInt(obj.style.top);
        y_0 = event.clientY;
        isMove = true;
    }
    function move(obj)
    {
        if(isMove)
        {
    var y_1 = event.clientY;
            var newTop = top + (y_1 - y_0);
    if(newTop >= 100 && newTop <= 350)
        obj.style.top = newTop + "px";
    if((newTop - top_0) >= 25 || (newTop - top_0) <= -25)
    {
        var div = document.elementFromPoint("510px",newTop + "px");
        if(div)
            moveTo(div,obj);
    }
        }
    }
    function stopMove(obj)
    {
        obj.releaseCapture();
        isMove = false;
        obj.style.zIndex = "0";
        obj.style.left = "500px";
        obj.style.top = top_0 + "px";
    }
    function moveTo(div_0,div_1)
    {
        var t = parseInt(div_0.style.top);
        div_0.style.top = t + "px";
        top_0 = t;
    }
    </script>
    </head>
    <body>
    <div id="div_0" style="position:absolute;left:500px;top:100px;height:50px;width:200px;text-align:center;line-height:50px;cursor:move;background-color:orange;z-index:0;"
         onMouseDown="getFocus(this)" onMouseUp="stopMove(this)" onMouseMove="move(this)">
    1</div>
    <div id="div_1" style="position:absolute;left:500px;top:150px;height:50px;width:200px;text-align:center;line-height:50px;cursor:move;background-color:green;z-index:0;"
         onMouseDown="getFocus(this)" onMouseUp="stopMove(this)" onMouseMove="move(this)">
    2</div>
    <div id="div_2" style="position:absolute;left:500px;top:200px;height:50px;width:200px;text-align:center;line-height:50px;cursor:move;background-color:red;z-index:0;"
         onMouseDown="getFocus(this)" onMouseUp="stopMove(this)" onMouseMove="move(this)">
    3</div>
    <div id="div_3" style="position:absolute;left:500px;top:250px;height:50px;width:200px;text-align:center;line-height:50px;cursor:move;background-color:blue;z-index:0;"
         onMouseDown="getFocus(this)" onMouseUp="stopMove(this)" onMouseMove="move(this)">
    4</div>
    <div id="div_4" style="position:absolute;left:500px;top:300px;height:50px;width:200px;text-align:center;line-height:50px;cursor:move;background-color:pink;z-index:0;"
         onMouseDown="getFocus(this)" onMouseUp="stopMove(this)" onMouseMove="move(this)">
    5</div>
    <div id="div_5" style="position:absolute;left:500px;top:350px;height:50px;width:200px;text-align:center;line-height:50px;cursor:move;background-color:gray;z-index:0;"
         onMouseDown="getFocus(this)" onMouseUp="stopMove(this)" onMouseMove="move(this)">
    6</div>
    </body>
    </html>
      

  5.   

    这个……你在页面中加js的目的是什么啊? 写点注释吧
    function moveTo(div_0,div_1)
    {
        var t = parseInt(div_0.style.top);
        div_0.style.top = t + "px";
        top_0 = t;
    }
     
    这段代码有问题吗?你看div_1根本没用到啊