1. #1
    Sencha User
    Join Date
    Nov 2011
    Location
    Quanzhou City , Fujian Province, China
    Posts
    13
    Vote Rating
    0
    liduqun is on a distinguished road

      0  

    Default Unanswered: In IE8,the menu does not close automatically!

    Unanswered: In IE8,the menu does not close automatically!


    In the attachment test.zip,there are tow files: test02.htm and default.htm.
    The test02.htm file has the following script:
    <script type="text/javascript">
    Ext.require('Ext.ux.IFrame')
    Ext.onReady(function ()
    {
    var me = Ext.create('Ext.panel.Panel', {
    renderTo: Ext.getBody(),
    width: 600,
    height: 500,
    header: {
    xtype: 'toolbar',
    items: [
    {
    xtype: 'button',
    text: 'menu1',
    menu: {
    xtype: 'menu',
    items: [
    {
    xtype: 'menuitem',
    text: 'menu11',
    handler: function ()
    {
    me.removeAll();
    me.add({
    xtype: 'uxiframe',
    src: "default.htm",
    loadMask: false
    })
    }
    },
    {
    xtype: 'menuitem',
    text: 'menu12',
    handler: function ()
    {
    me.removeAll();
    me.add({
    xtype: 'uxiframe',
    src: "default.htm",
    loadMask: false
    })
    }
    },
    {
    xtype: 'menuitem',
    text: 'menu13',
    handler: function ()
    {
    me.removeAll();
    me.add({
    xtype: 'uxiframe',
    src: "default.htm",
    loadMask: false
    })
    }
    }
    ]
    }
    }
    ]
    }
    })
    })
    </script>

    After it rendered, if I have not click the menu item, the menu will close automaticaly when I clicks outside it.
    BUT after I click the menu item(eg. menu12),the panel load the page default.htm with a Ext.ux.IFrame component, and I click the button 'menu1',the menu open, and DOES NOT close when I click ousite it!

    This bug only occures in IE8, not in chrome, nor in IE10.
    Attached Files

  2. #2
    Sencha Premium Member glopes's Avatar
    Join Date
    Jan 2013
    Location
    Chicago
    Posts
    83
    Answers
    10
    Vote Rating
    21
    glopes will become famous soon enough glopes will become famous soon enough

      0  

    Default


    Instead of using the ux.Iframe, try using the standard container. Replace your code with the following and it should work on IE8:

    Code:
    <script type = "text/javascript" >
        Ext.onReady(function () {
            var me = Ext.create('Ext.panel.Panel', {
                    renderTo : Ext.getBody(),
                    width : 600,
                    height : 500,
                    header : {
                        xtype : 'toolbar',
                        items : [{
                                xtype : 'button',
                                text : 'menu1',
                                menu : {
                                    xtype : 'menu',
                                    items : [{
                                            xtype : 'menuitem',
                                            text : 'menu11',
                                            handler : function () {
                                                me.removeAll();
                                                me.add({
                                                    xtype : 'container',
                                                    loader : {
                                                        url : 'Default.htm',
                                                        autoLoad : true
                                                    }
                                                })
                                            }
                                        }, {
                                            xtype : 'menuitem',
                                            text : 'menu12',
                                            handler : function () {
                                                me.removeAll();
                                                me.add({
                                                    xtype : 'container',
                                                    loader : {
                                                        url : 'Default.htm',
                                                        autoLoad : true
                                                    }
                                                })
                                            }
                                        }, {
                                            xtype : 'menuitem',
                                            text : 'menu13',
                                            handler : function () {
                                                me.removeAll();
                                                me.add({
                                                    xtype : 'container',
                                                    loader : {
                                                        url : 'Default.htm',
                                                        autoLoad : true
                                                    }
                                                })
                                            }
                                        }
                                    ]
                                }
                            }
                        ]
                    }
                })
        })
        </script>

  3. #3
    Sencha User
    Join Date
    Nov 2011
    Location
    Quanzhou City , Fujian Province, China
    Posts
    13
    Vote Rating
    0
    liduqun is on a distinguished road

      0  

    Default


    But if in the page loaded,there are some js scripts to run when the page loaded, the script would not run in such manner!

Thread Participants: 1

Tags for this Thread