我的页面顶部用了toolbar,内容区用的iframe,这样的话,我会把我所要展现的内容放到iframe中来展现,但是,在我点击内容区的时候我的toolbar下拉菜单不回收,不知道这个要怎么解决呢?走过路过的各位高人们帮忙看看吧。先谢谢大家了!!!菜鸟伤不起啊。ExtJSToolbariframe

解决方案 »

  1.   

    toolbar里增加一个失去焦点的行为
      

  2.   

     十分感谢您的回复!
    我在toolbar的items里边加的listeners:{mouseout:function(){}},但是这个只对toolbar中的button起作用,我有试着把listeners加到toolbar里边,但是没有任何的作用,还是希望您能帮忙再想想,感谢!我的是Ext2.1的版本,不知道是不是版本问题呀
      

  3.   

    Ext.Ajax.request({
    url : "buildMenu.jsp",
    method : 'post',
    success : function(response) {
    var json = Ext.util.JSON.decode(response.responseText);
    var names = response.responseText;
    // rebuildMenu(names);// 调用下面的方法
    buildMenu(names);
    },
    failure : function(response) {
    Ext.Msg.alert(i['promopt'], 'Connection Failure!');
    }
    });
        var toolbar = new Ext.Toolbar({  
            listeners: {  
                'blur': function(f){  
                    alert('失去焦点!');  
                }  
            }
        });  
    function buildMenu(info){
    var info = Ext.decode(info);
    if(info.length!=0){
    for(var g = 0; g < info.length; g++) {// 循环得到一级的菜单
    var item = info[g];
    var son = item.children;
    var sonMenu = new Ext.menu.Menu({  
    width : 130,
    hidden:false
    }); 
    var m = 0;
    for(var j=0;j<son.length;j++){
    var url = son[j].linkTo;
    if(son[j].id.substring(0,6) == item.id ){
    sonMenu.add({
    id : son[j].id,
    text : son[j].text,
    url:url,
    handler : function(node,e){
    var main = document.getElementById("mainframe");
    var link = node.url;
    if (link && link != "") {
    e.stopEvent();
    if(link.indexOf("http://")!=-1){
    main.src = url;
    }else
    main.src = link;
    }
    }
    });
    m++;
    }
    }
    if(m==0){//没有二级目录的情况下,设置sonMenu为无效
    toolbar.add({
    id:item.id,
    text:item.text
    },'-');
    }else{
    toolbar.addButton({
    id:item.id,
    text:item.text,
    menu:sonMenu
    },'-');
    }
    }
    }
    };
    呃。刚刚这儿总是提示我回复失败,总也回复不上....我的toolbar是自动生成的,还请高人们帮我看看,谢谢!
      

  4.   

    其实你应该给iframe加事件,控制toolbar回收的
      

  5.   


    可是我的iframe中加载了menu中相应的项目之后,那这个事件还对我的toolbar起作用吗?
      

  6.   

    你试着看看extjs的API上是怎么写的吧,在toolbar初始化的时候增加一个事件用于处理失去焦点,这个得你自己多调试才行