`
阿牛ge
  • 浏览: 104694 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

学习ExtJs(3):Ext.Window在弹出窗口或Msg之后依然可以获得焦点

阅读更多

一个新建的窗口中有一个按钮事件,运行时发现,触发按钮事件弹出窗口(无论是Msg.confirm之类的消息,还是Msg.show),后台窗口还是可以获得焦点。

 

这样用户可以绕过弹出窗口,继续操作后面的窗口,包括所有的事件。搜索了一下,需要手动调用第一个窗口的disable()和enable()事件。这两个事件是从Ext.Component继承下来的.

 

 

直接看代码,注意黑体部分。

 

var win=new Ext.Window({title:"窗口"+i++,
    width:400,
    height:400,
    maximizable:true,
    manager:mygroup,
    items:[new Ext.Panel({
            title:"面板头部header",
            width:200,
            height:300,
            html:'<h1>面板主区域</h1>',
            tools:[{id:"save"},
                   {id:"help",handler:function(){Ext.Msg.alert('help','please help me!');}},
                   {id:"close",handler:function(){lpnel.hide();}}],
       
            tbar:[{pressed:true,text:'刷新'},{text:'顶部工具栏topToolbar'}],
            bbar:[{text:'底部工具栏bottomToolbar'}],
            buttons:[{text:"按钮位于footer"},
                        {text:"Submit",handler:function(){
                        //Ext.Msg.confirm("系统提示", "你是否确定删除此记录", this.onRemovePerson, this);
                            //win.setActive(false); //没有必要,只要设置disable就可以了
                            win.disable();
                        Ext.Msg.show({
                           title:'Do this Action?',
                           modal:true,
                           msg: 'Would you like to do this action?',
                           buttons: Ext.Msg.YESNO,
                           fn: function(btn){
                                if(btn == 'yes'){
                                  //dothisaction();
                                  }
                                else{//not to do
                                 };
                          //       win.setActive(true);
                                 win.enable();
                           },
                           icon: Ext.MessageBox.QUESTION
                        });
                           
                        }}]
          })]
    });
    win.show();

分享到:
评论
2 楼 xljoypark 2012-06-19  
你这的确把第一个窗口隐藏了,但是第二个窗口还在第一个窗口的后面,你这是怎么获取第二个窗口焦点的
1 楼 reason2003 2010-03-12  
只在在win窗口中加入modal:true就可以解决弹出win窗口后后台失去焦点。

相关推荐

    extjs实例 入门,提供ext所需要的资源文件,详细叙述怎么改变文件颜色

    ExtJS的组件如按钮、表格、面板等都可以通过CSS类或内联样式来调整颜色。在"示例代码"中,你可能会看到一个或者多个CSS文件,这些文件包含了用于改变颜色的规则。 1. **CSS样式**: - 在ExtJS中,通常会有一个全局...

    extjs开发指导3.pdf

    【信息提示框组件】EXTJS的`Ext.Msg`类提供了多种类型的消息框,如`alert`、`confirm`和`prompt`,它们方便地封装了弹出对话框的功能,用于向用户显示信息、确认操作或收集输入。 【进度条组件】EXTJS的`Ext....

    ExtJs消息提示框

    `Ext.ux.window.Notification`是一个特定的扩展,它提供了灵活的、可自定义的弹出通知窗口,可以在屏幕的各个方向展示。这个组件允许开发者创建浮动的、可定位的消息框,可以自动消失,也可以通过用户操作关闭,增加...

    3------通过实例学习------Ext.js------.docx

    通过实例学习Ext.js,我们可以深入了解其核心组件、布局管理、数据绑定以及用户界面构建等关键知识点。 首先,让我们看一下解压后的Ext.js文件结构: 1. **builds**:这个目录包含了经过压缩和优化的Ext.js代码,...

    Extjs中文教程2.x

    - **特点**: 弹出式的窗口,可以移动、最大化等。 - **示例**: `new Ext.window.Window({ title: 'Window', width: 400 })`。 **13.2 功能** - **最大化**: `maximize()` 方法。 - **最小化**: `minimize()` 方法...

    Extjs帮助文档.pdf

    接下来将详细介绍文档中提到的几个核心概念,包括`Ext.MessageBox`、`Ext.Panel`、`Ext.Window`、`Ext.FormPanel`、`Ext.TabPanel`、`Ext.XTemplate`和`Ext.TreePanel`以及如何在Extjs中实现主题(换肤)功能。...

    基于extjs的.NET3.5控件Coolite 1.0.0.34580(Preview预览版)

    基于extjs的.NET3.5控件Coolite 1.0.0.34580 (Preview预览版), *************************************************** * Version 1.0.0 升级日志 * *************************************************** 1. ...

    extjs实践大量实例讲解

    Ext.create('Ext.window.Window', { title: 'Hello ExtJS', width: 400, height: 200, layout: 'fit', items: [ { xtype: 'panel', html: 'Hello World!' } ] }).show(); ``` 在这个例子中,我们创建了一...

    ExtJS实用开发指南.pdf

    通过ExtJS提供的开发指南,开发者可以学习如何使用它的各种组件和类,例如Ext.Window(用于创建模态或非模态窗口)、Ext.Panel(用于创建面板)、Ext.grid.Grid(用于创建网格)等。ExtJS还支持创建自定义组件和插件...

    extjs登录.pdf

    - `Ext.Window` 是EXTJS中的一个组件,用于创建弹出式窗口。在代码中,我们看到它被用来构建登录界面,包含了窗口的基本属性如标题、宽度、高度和布局。 2. **表单布局**: - `layout: "form"` 表示窗口使用表单...

    extjs Msgbox封装

    在ExtJS中,MsgBox是一个内置的弹出窗口组件,常用于显示消息提示、警告、确认或询问用户。在本案例中,“extjs Msgbox封装”指的是将ExtJS的MsgBox功能进行封装,以便更方便地在代码中使用。 在描述中提到的“命名...

    js语法之extjs

    例如,在页面加载完毕后,等待3秒后弹出提示: ```javascript var func1 = function (name1, name2) { Ext.Msg.alert("3秒钟后自动执行", "你好," + name1 + "、" + name2 + "!"); }; Ext.defer(func1, 3000, ...

    ExtJs入门实例

    - `buttons`: 按钮配置,可选值包括`Ext.Msg.OK`, `Ext.Msg.OKCANCEL`, `Ext.Msg.CANCEL`, `Ext.Msg.YESNO`, `Ext.Msg.YESNOCANCEL`。 - `closable`: 是否显示关闭按钮。 - `msg`: 对话框中的消息文本。 - `...

    extjs 总结,可以方便大家开发

    5. Window:浮动的弹出窗口,可以包含其他组件。 总的来说,ExtJS 提供了一套完整的组件体系,用于构建复杂的Web应用,涵盖了页面布局、数据展示、用户交互等多种功能。通过熟练掌握这些组件和API,开发者可以高效...

    ext文件上传下载

    在EXTJS中,文件上传通常会用到`Ext.form.Panel`组件,它包含一个或多个`Ext.form.field.File`(文件选择字段),也被称为“上传按钮”。这个组件允许用户选择本地文件,并在提交表单时将文件数据发送到服务器。以下...

    extjs—chart柱形图 例子

    ### ExtJS Chart 柱形...综上所述,这段代码实现了在ExtJS中创建一个柱形图窗口的过程,涵盖了从数据准备到图表渲染的全过程。通过这种细致的配置,开发者可以灵活地调整图表的样式和交互行为,以满足不同的业务需求。

Global site tag (gtag.js) - Google Analytics