我使用与此类似的 jQuery 代码实现了一个类(我称之为 RowsEditor)及其子类(我称之为 DateRowsEditor):
function create_RowsEditor(tableId) {
var rowsEditor = {
tableId: tableId,
quit_row: function(ctl) { /*...*/ }
};
$('#'+tableId).click(function(event) {
var tr = event.delegateTarget;
rowsEditor.quit_row(tr);
});
return rowsEditor;
}
function create_DateRowsEditor(tableId) {
var rowsEditor = $.extend({}, create_RowsEditor(tableId), {
quit_row: function(ctl) { /*...*/ }
};
return rowsEditor;
}
然后我创建一个 DateRowsEditor() 类型的对象:
var rowsEditor = create_DateRowsEditor('come'):
问题在于,在用户单击时,quit_row() 是使用 create_RowsEditor() 创建的对象调用的,而不是使用 create_DateRowsEditor() 创建的派生对象。
如何以结构化和面向对象的方式正确地做到这一点?