(转自)http://hi.baidu.com/kakarot_java/blog/item/8c34e57360472c148601b013.html
我们知道,只有在Ext框架全部加载完后才能在客户端的代码中使用Ext,而Ext的onReady正是用来注册在Ext框架及页面的html代码加载完后,所要执行的函数。
调用onReady方法时可以带三个参数,
第一个参数是必须的,表示要执行的函数或匿名函数,
第二参数表示函数的作用域,
第三个参数表示函数执行的一些其它特性,比如延迟多少毫秒执行等,大多数情况下只需要第一个参数即可。
比如示例代码会在页面加载后执行函数a,弹出"Everything is ready."的提示信息。
比如示例代码会在页面加载后执行函数a,弹出"Everything is ready."的提示信息。
Java代码
- function a(){
- alert("Everything is ready.");
- }
- Ext.onReady(a);
可以在一个页面中多次调用onReady方法,则将会把这些方法放到事件队列中,依次执行;onReady的第三个参数是事件执行的一些特殊属性描述,可以是简单的true或false,也可以是一个对象,对象中可以包含delay、single、buffer等属性,比如在上面的代码中添加下面的代码:
Java代码
- Ext.onReady(function(){alert("2")},this,{delay:5000});
则在页面加载完成后,执行了a方法中的内容,5秒后会执行上面onReady方法中的匿名函数。
作用域是javascript中一个比较关键的特性,我们可以在事件中执行某一个函数的执行的作用域,下面的代码演示了在onReady方法中使用作用域。
Java代码
- var b1={v:"this is b1"};
- var b2={v:"this is b2"};
- function b()
- {
- alert(this.v);
- }
- Ext.onReady(b,b1);
- Ext.onReady(b,b2);
上面的代码直接调Ext类的onReady方法指定在页面加载完后执行函数b,函数b中的代码是输出当前对象的v属性值,执行这段代码可以看到onReady中作用域的效果。