ext 的事件处理


     EXT 中遵循一种树状的事件模型,所有继承EXT.util.observable 类的控件都可以支持事件,下面直接上代码
     Person =function (name){
                this.name=name;
                this.addEvents("walk","eat","sleep");
}
   Ext.extend(Person,Ext.util.Observable,{
                info:  function (event)
        return   this.name+'is'+event+'ing';
}
} );    //  这里实现了一个名称为Person 的对象,它有一个属性name,初始化时,调用this.addEvents()函数定义了3个事:walk,eat ,sleep ,最后使用Ext.extend() 让Person 继承Ext.util.Observable 的所有属性。此外,我们还加上了一个函数info() ,让它返回Person 的信息
var person=new Person('zhang');
person.on('walk',function() {
Ext.Msg.alert('event',person.name);
});
person.on('eat',function(breakfast,lunch,supper)
{
  Ext.Msg.alert('event',person.name+"要吃"+breakfast+","+lunch+"和"+supper);
});
person.on('sleep', function(time){
Ext.msg.alert('event',peason.name);
});
这里的on是addListener()的简写形式

Ext.get('walk').on('click',function(){
person.fireEvent('walk');
}
Ext.get('eat').on('click',function(){
person.fireEvent('eat','早餐','午餐','晚餐’);
});



posted @ 2009-08-03 14:10  依然神思者  阅读(369)  评论(0编辑  收藏  举报