写了一个Obsrvable的应用,事件的监听有问题,代码如下:
Select Ticc Service
<script type="text/javascript" src="person.js"></script>
<script>
Ext.onReady(function(){
var events = new Array();
events[0] = 'name1';
events[1] = 'name2';
events[2] = 'name3';
var person = new Person(events);
for( var index = 0; index < 3; index++ )
{
person.fireEvent(events[index]);
}
});
</script>
</head>
<body>
</body>
person.js的代码如下
var structs = {
name1: 'name1()',
name2: 'name2()',
name3: 'name3()'
};
Person = function(events){
var size = events.length;
for(var index = 0; index < size; index++ )
{
this.addEvents(events[index]);
var event = events[index];
this.addListener(events[index], function(){alert(event);});
}
}
Ext.extend(Person, Ext.util.Observable, {
setname: function(){}
});
function name1(){alert('name1');}
function name2(){alert('name2');}
function name3(){alert('name3');}
执行的时候只能弹出‘name3’,搞不清楚是JavaScript代码没写对还是Observable没有用对,请大家帮忙修改下,谢谢