(转自)http://hi.baidu.com/kakarot_java/blog/item/8c34e57360472c148601b013.html

我们知道,只有在Ext框架全部加载完后才能在客户端的代码中使用Ext,而Ext的onReady正是用来注册在Ext框架及页面的html代码加载完,所要执行的函数。

    调用onReady方法时可以带三个参数, 
第一个参数是必须的,表示要执行的函数或匿名函数,
第二参数表示函数的作用域,
第三个参数表示函数执行的一些其它特性,比如延迟多少毫秒执行等,大多数情况下只需要第一个参数即可。 
比如示例代码会在页面加载后执行函数a,弹出"Everything is ready."的提示信息。 

Java代码
  1. function a(){   
  2. alert("Everything is ready.");   
  3. }   
  4. Ext.onReady(a);  

    可以在一个页面中多次调用onReady方法,则将会把这些方法放到事件队列中,依次执行;onReady的第三个参数是事件执行的一些特殊属性描述,可以是简单的true或false,也可以是一个对象,对象中可以包含delay、single、buffer等属性,比如在上面的代码中添加下面的代码: 

Java代码
  1. Ext.onReady(function(){alert("2")},this,{delay:5000});  

    则在页面加载完成后,执行了a方法中的内容,5秒后会执行上面onReady方法中的匿名函数。 
作用域是javascript中一个比较关键的特性,我们可以在事件中执行某一个函数的执行的作用域,下面的代码演示了在onReady方法中使用作用域。 

Java代码
  1. var b1={v:"this is b1"};   
  2. var b2={v:"this is b2"};   
  3. function b()   
  4. {   
  5.      alert(this.v);   
  6. }   
  7. Ext.onReady(b,b1);   
  8. Ext.onReady(b,b2);  

上面的代码直接调Ext类的onReady方法指定在页面加载完后执行函数b,函数b中的代码是输出当前对象的v属性值,执行这段代码可以看到onReady中作用域的效果。
posted on 2014-09-05 09:20  王玉涛  阅读(8998)  评论(0编辑  收藏  举报