onMouseOver="showad(event,'id')"function   showad(e,id)   { 
var   addiv   =   document.getElementById(id); 
e=e||event;
var   x   =   e.clientX; 
var   y   =   e.clientY; addiv.className="showad"; 
addiv.style.top   =   y+   "px"; 
addiv.style.left   =   x+   "px"; 

解决方案 »

  1.   

    e=e ¦ &brvbarevent; 这个是什么?
      

  2.   

    <!---ff的事件对象要这样传递---->
    <a onMouseOver="showad(event,'id')">Show</a> 
    <script>
    function       showad(e,id)       {   
    var       addiv       =       document.getElementById(id); 
    //ff和ie的事件生成不一样,你去搜索下就知道了.我忘记了怎么解释的了,这句话就是为了兼容ff的.  
    e=e||event; 
    var       x       =       e.clientX;   
    var       y       =       e.clientY;   addiv.className="showad";   
    addiv.style.top       =       y+       "px";   
    addiv.style.left       =       x+       "px";   
    }   
    </script>
      

  3.   

    又是问兼容问题!我的博客里有IE和FF对JS的兼容分析
    自己可以去看就一切都明白了
      

  4.   

    这样递归向下找就可以再firefox里获取到event了  试试~<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head> </head> <body>
      <button onclick="test()">test</button>
     </body>
    </html>
    <script type="text/javascript">
    <!--function getEvent()

        if(document.all)  
         return window.event;   //IE中
        func=getEvent.caller;       
        while(func!=null){ 
            var arg0=func.arguments[0];
            if(arg0)
            {
              if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation))
              { 
              return arg0;
              }
            }
            func=func.caller;
        }
        return null;
    } function test()
    {
    e=getEvent(); alert(event.pageX);
    }
    //-->
    </script>