function isMouseInBox(event,obj){ 
 event=event||window.event;
 var point1=new Array(event.clientX+document.body.scrollLeft,event.clientY+document.body.scrollTop); 
 var point2=getObjPosition(obj); 
 return( (point1[0]>=point2[0]) && point1[1]>=point2[1] && point1[0]-point2[0]<=obj.offsetWidth && point1[1]-point2[1]<=obj.offsetHeight );

function getObjPosition(obj){ 
 var point=new Array(0,0); 
 while(obj!=document.body){
  point[0]+=obj.offsetLeft;
  point[1]+=obj.offsetTop;
  obj=obj.offsetParent;
 }
 return point;
}

解决方案 »

  1.   

    IE下有个方法是
    document.elementFromPoint(x,y); 获取x,y坐标的元素
      

  2.   

    非常感谢JK_10000 提供的函数,我想问一下这个函数是否兼容FF和IE浏览器?
    因为好像IE浏览器中,发生事件后,event是个全局对象,并不需要通过参数传递,另外,event.clientX和 event.x都是返回鼠标坐标的,他们有什么不同么
      

  3.   

    用坐标取不太可靠吧,当你TABLE是被里面的字符串撑开的时候,你怎么知道这个TABLE的准确宽和高?
      

  4.   

     不明白想做甚?onmouseover 就不成?搞那么麻烦