ext js Ext.onReady()的用法

问题:先自定义一个函数f(),在通过Ext.onReady(f())方式来调用。

看书上写的是:

<script language="javascript">
        
  function f(){
   Ext.Msg.show({
         title:'Hello',
         msg:'Have you seen my heart?',
         buttons:{
                      yes:'true',
                      no:true,
                     cancel:true,
                    }

                     });

   }
   Ext.onReady(f());
    </script>

但运行后没显示

上网查了一下Ext.onReady()的用法,大概分为三种:

  • 方式一:

          <script>

           Ext.onReady(function(){

           alert('onready');

 

       });

    </script>     

              最简单了,最平常的调用,不用多说

 

  • 方式二:

    <script>

       Ext.color=function(){

           return{

              init:function(){

                  alert("init")

              }

           }

       }();

       Ext.onReady(Ext.color.init,Ext.color);

    </script>                

  通过onReady调用color函数,init为color中的内置,作用是初始化.这种写法比较实用

 

  • 方式三:

 

    <script>

       Ext.onReady(function(){

      

           alert('onready');

 

       });

       Ext.color=function(){

           return{

              init:function(){

                  alert("init")

              }

           }

       }();

       Ext.onReady(Ext.color.init,Ext.color);

    </script>

       这种是混合型写法,两个onReady都会被调用,调用顺序是看谁在前面.

根据第2个方法,可将问题的解法写成如下:

<script>
  Ext.f=function(){
           return{

              init:function(){
         Ext.Msg.show({
         title:'Hello',
         msg:'Have you seen my heart?',
         buttons:{
          yes:true,
          no:true,
          cancel:true,
          },

          icon:'milton-icon',
          fn:function(btn){
          Ext.Msg.alert('You clicked',btn);

          }
         });

              }

           }

       }();

       Ext.onReady(Ext.f.init,Ext.f);


    </script>

 

posted @ 2012-01-08 20:34  黄辉杰  阅读(18966)  评论(0编辑  收藏  举报