Ext.onReady(function(){

<%
for(int k = 0; k<items.size();k++){
%>
var menu<%=k%> = new Ext.menu.Menu({
        id: 'mainMenu<%=k%>',
        style: {
            overflow: 'visible'     // For the Combo popup
        },
        items: <%=items.get(k)%>
    });

    var td<%=k%> = Ext.get("menu_td<%=k%>");
    
    
    td<%=k%>.on("mouseover",function(e){
menu<%=k%>.show(this);
var ell<%=k%> = menu<%=k%>.getEl(); ell<%=k%>.on("mouseout",function(e){
menuBehavior(menu<%=k%>);
});
});
    
    td<%=k%>.on("mouseout",function(e){
if(menu<%=k%>.isVisible()){
menuBehavior(menu<%=k%>);
}
});
<%
}
%>

function menuBehavior(submenus){ alert(getEvent.clientX);//这里弹出undefined };
});
function getEvent()

    if(document.all)  
     return window.event;   
    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;

解决方案 »

  1.   

    打错了,应该是 
    alert(getEvent().clientX);
    IE里能获取到坐标,但是在火狐狸获取不到,是不是onready的问题?  在本个页面的其他js里可以获取到,在这个onready里就获取不到~
      

  2.   

    getEvent.clientX这2个分别是什么东西哦。。
      

  3.   

    非 IE 浏览器的 event 都是通过事件触发的函数的参数传递的
      

  4.   


    在页面重新写个js方法就可以获取到,
    唯独在这个js方法里获取不到...
      

  5.   

    为啥根据document.all判断浏览器类型?这是不规范的。function getEvent(){
        return event?event:window.event;
    }
      

  6.   

    记得直接用event.clientX这个好像可以获取到的说 你试试
      

  7.   


    在IE里好使,在firefox里不好使