您的位置:首页 > 其它

关于Ext.onReady的三种调用方

2010-03-23 09:14 369 查看
方式一:

<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>+

我们知道,只有在Ext框架全部加载完后才能在客户端的代码中使用Ext,而Ext的onReady正是用来注册在Ext框架及页面的html代码加载完后,所要执行的函数。调用onReady方法时可以带三个参数,第一个参数是必须的,表示要执行的函数或匿名函数,第二参数表示函数的作用域,第三个参数表示函数执行的一些其它特性,比如延迟多少毫秒执行等,大多数情况下只需要第一个参数即可。
比如示例代码会在页面加载后执行函数a,弹出"Everything is ready."的提示信息。

Java代码

function a(){

alert("Everything is ready.");

}

Ext.onReady(a); //不能写成Ext.onReady(a()); 因为参数是函数名!

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});

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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: