1

下午好!

我正在尝试从 4.0.7 版升级到 4.1.1 版(作为 45 天免费试用版下载),以便在我们目前正在运行的应用程序中测试 4.1 版,看看我们之前可能需要做多少更改正式升级,我做的唯一步骤是将我的 jsp 文件指向页面头部的新文件,如下所示:

<link rel="stylesheet" href="3rdParty/ext-4.1.1a/resources/css/ext-all.css"/>

<script type="text/javascript" charset="utf-8" src="3rdParty/ext-4.1.1a/ext-all-debug.js"></script>

在我的 jsp 页面中,我正在做一些非常简单的事情,只是创建一个按钮,我使用了以下代码:

  <body>
            <script type="text/javascript">

                Ext.create('Ext.Button', {
                    text: 'Test window',
                    width: 75,
                    renderTo:  Ext.getBody(),
                    handler: function() {
                        alert("the button worked"");
                    }
                });
    </script> 
    </body>

但是当我运行这个页面时什么都没有显示,当我使用谷歌浏览器的开发工具时,控制台正在向我显示这条消息:

未捕获的类型错误:无法调用未定义的方法“createChild”

当我调试代码时,错误出现在文件 ext-all-debug.js:20687

getStyleProxy: function(cls) {
       var result = this.styleProxyEl || (Ext.AbstractComponent.prototype.styleProxyEl = Ext.resetElement.createChild({


               style: {
                   position: 'absolute',
                   top: '-10000px'
               }
           }, null, true));


       result.className = cls;
       return result;
   },

我错过了什么步骤?,我在 extjs 中很新,据我了解,从 4.0.7 版本升级到 4.1.1 不应该涉及与某些不同的代码编写方式不同的许多步骤,有人可以帮助我请?

提前谢谢了!

4

1 回答 1

2

尝试将您的代码放在 onReady 块中:

<body>
<script type="text/javascript">

    Ext.onReady( function() {            
        Ext.create('Ext.Button', {
            text: 'Test window',
            width: 75,
            renderTo:  Ext.getBody(),
            handler: function() {
                alert("the button worked");
            }
        });
    });

</script> 
</body>
于 2012-11-28T22:49:38.523 回答