(轉自)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中作用域的效果。