判断当前鼠标事件的坐标(event.x, y) 是不是落在oDiv的范围(top, top+height, left, left+width)之外

解决方案 »

  1.   

    可不可以遍历odiv的dom,获取其id然后和otarget的id进行比对。但是这样的话必须为odiv内每个dom对象付id。要是能将对象和event.srcElement进行比较就好了,我做过好像不行。留个标记,看看其他高手怎么做
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script language="javascript">
    var clkarea = false;
    window.onload=function(){
    document.getElementById("divTest").onclick = function(){ alert("divclick"); clkarea = true;};
    document.onclick=function(){ alert("documentclick"); if(!clkarea) document.getElementById("divTest").style.display = "none"; clkarea = false; };
    }
    </script>
    </head><body>
    <div id="divTest" style="position:absolute; width:200px; height:200px; border:1px solid #0000FF; top:100px; left:100px; background-color:#FFFFEE">此处显示新 Div 标签的内容</div>
    </body>
    </html>
      

  3.   

    ls的方法很好
    也确实解决了问题但不太好的是用到了document
    这样如果有两个以上的话就不行了
    因为我是把程序都写在函数了
    每一个都执行一次函数这样就只有最后一个的onclick有效了
    郁闷
      

  4.   

    addEventListener就可以了现在又有一个问题
    例如现在有两个oDiv1和oDiv2进行点击操作
    现在可以确定是不是在oDiv1或者oDiv2上点击了
    问题是怎么知道是在oDiv1上还是oDiv2上点击呢