我在对象中有一个成员函数,它获取回调函数数组和为其设置此函数的事件的名称:
...
setHandlesByList: function (list) {
for (var i in list) {
var self = this;
$(document).on(list[i].name, function (e) {
list[i].callBack.call(self,e)
});
};
},
...
在子对象的某个地方,我调用了父对象的这个函数:
...
initClass: function () {
this.setHandlesByList([
{ name: 'configChecked', callBack: onConfigChecked },
{ name: 'configExpired', callBack: onConfigExpired },
]);
},
onConfigChecked: function() {
// some code
},
onConfigExpired: function() {
// some code
},
....
但是出了点问题-对于所有事件,处理程序都是最后设置的回调函数...