暂时还不会用Ext.mixin.Observable,
催悲的测试了近两个小时。这TMD的语法差距也太大了啊。。
在新版EXTJS里,已去除了addEvents。
弄个出来,大概知道下吧。
<!DOCTYPE html>
<html>
<head>
<title>ExtJs</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="stylesheet" type="text/css" href="ExtJs/packages/ext-theme-crisp/build/resources/ext-theme-crisp-all.css">
<script type="text/javascript" src="ExtJs/ext-all.js"></script>
<script type="text/javascript" src="ExtJs/bootstrap.js"></script>
<script type="text/javascript" src="ExtJs/packages/ext-theme-crisp/build/ext-theme-crisp.js"></script>
<script type="text/javascript">
Ext.onReady(function(){
var name=Ext.extend(Ext.util.Observable,{
constructor:function(config){
this.name=config.name;
this.id=config.id;
//this.addEvents("fire","quite");
this.listeners=config.listeners;
name.superclass.constructor.call(this,config);
}
});
var username=new name({
name:"Test",
id:"001",
listeners:{
"fire":function(){alert(username.name);}
}
});
Ext.get('walk').on('click', function() {
username.fireEvent('fire');
});
});
</script>
</head>
<body style="margin: 20px">
<button id="walk">walk</button>
<button id="eat">eat</button>
<button id="sleep">sleep</button>
</body>
</html>