contains 你先用这个判断一下你鼠标当前的位置的对象是否在你的table里,若是则表示鼠标没有真正的离开,原因就是从 table -> tr 和 tr -> td 的时候都会触发 onmouseout

解决方案 »

  1.   

    <div id="aa" onmouseout="test(this.style);" style="position:absolute; left:175px; top:81px; width:219px; height:188px;background-color: #999999;">
    <br>
    <input id="bb" type....>
    </div><script>
      function test(tag){
        var x=event.clientX;
        var y=event.clientY;
        var tleft=parseInt(tag.left)+1
        var ttop=parseInt(tag.top)+1
        var tright=parseInt(tag.left)+parseInt(tag.width)
        var tbottom=parseInt(tag.top)+parseInt(tag.height)
        if((tleft>=x&&tright>=x)||(tleft<=x&&tright<=x)||(ttop>=y&&tbottom>=y)||(ttop<=y&&tbottom<=y))alert("out");
      }
    </script>
      

  2.   

    function cls()
    {
      var div = document.all.mydiv;
      if(div.componentFromPoint(event.clientX,event.clientY)=="outside")
      {
        mydiv.style.visibility='hidden'
      }
    }