オブジェクトには、コールバック関数の配列と、この関数が設定されているイベントの名前を取得するメンバー関数があります。
...
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
},
....
しかし、何かがうまくいかない - すべてのイベントで、ハンドラーは最後に設定されたコールバック関数です...