次のような 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'):
問題は、ユーザーがクリックすると、本来あるべき create_DateRowsEditor() で作成された派生オブジェクトではなく、create_RowsEditor() で作成されたオブジェクトで quit_row() が呼び出されることです。
構造化されたオブジェクト指向の方法で適切に行うには?