Extjs窗口在IE中没有很好地显示元素

时间:2012-05-16 08:42:44

标签: javascript internet-explorer extjs

我有这段代码

 var main_container = Ext.create('Ext.container.Container',
 {
     xtype: 'container',
     id: "id_container",
     anchor: '100%',
     layout:'column',
     items:[
        column_1,
        column_2,
        column_3
     ]
})

当我调整容器的大小时,最右边的列在某些情况下会消失。当我在某些情况下再次调整大小时,最右边的列再次出现。这只发生在IE中。

可能导致这种情况的原因是什么?任何想法都会有所帮助。

这是最右边一列的结构

  var column_3 = Ext.create('Ext.container.Container',
  {
    columnWidth: .33,
    layout: 'anchor',
    id: 'column_3',
    items:[
        grid_1,
        grid_2
    ]
  })

有3列,我希望它们的宽度为33%

按下ext js菜单按钮后,主容器将被禁用。 主容器放在外部窗口中。

这是我的问题

 <div class="x-container x-column x-container-default" id="column_roles" role="presentation" style="width: 400px;">
       <DIV style="WIDTH: 413px; HEIGHT: 45%" id=grid_1 class="x-panel  x-grid x-property-grid x-panel-default x-with-col-lines x-panel-with-col-lines x-panel-default-with-col-lines x-masked-relative x-masked" role=presentation aria-labelledby=component-1234>...</div>

        <DIV style="WIDTH: 413px; HEIGHT: 45%" id=grid_2 class="x-panel  x-grid x-property-grid x-panel-default x-with-col-lines x-panel-with-col-lines x-panel-default-with-col-lines x-masked-relative x-masked" role=presentation aria-labelledby=component-1237> ... </div>
 </div>

你可以清楚地看到内部div比包含它们的内部宽。为什么IE生成错误?这不会发生在Chrome和FF中。

1 个答案:

答案 0 :(得分:1)

如果只在IE中发生这种情况,您是否考虑将IE作为浏览器丢弃?除了笑话,如果它可以在任何浏览器中工作,除了IE可能是一个错误,或者你必须只为IE做一些特殊的事情。

例如,这对我有用:

Ext.onReady (function () {
    Ext.create ('Ext.window.Window', {
        renderTo: Ext.getBody () ,
        title: 'Win' ,
        width: 500 ,
        height: 100 ,
        layout: 'anchor' ,
        resizable: true ,
        items: [{
            xtype: 'container' ,
            anchor: '100%' ,
            layout: 'column' ,
            defaults: {
                layout: 'anchor'
            } ,
            items: [{
                xtype: 'container' ,
                columnWidth: .33 ,
                defaults: {
                    xtype: 'textfield' ,
                    anchor: '100%'
                } ,
                items: [{
                    fieldLabel: 'name'
                } , {
                    fieldLabel: 'surname'
                }]
            } , {
                xtype: 'container' ,
                columnWidth: .33 ,
                defaults: {
                    xtype: 'textfield' ,
                    anchor: '100%'
                } ,
                items: [{
                    fieldLabel: 'age'
                } , {
                    fieldLabel: 'place'
                }]
            } , {
                xtype: 'container' ,
                columnWidth: .33 ,
                defaults: {
                    xtype: 'textfield' ,
                    anchor: '100%'
                } ,
                items: [{
                    fieldLabel: 'nickname'
                } , {
                    fieldLabel: 'whatever'
                }]
            }]
        }]
    }).show();
});

当您调整窗口大小时,每个列也会调整大小并且没有人消失。

威尔克