私は最近、コードがDOMにできるだけ依存しないようにすることについてのブログ投稿を読みました(つまり、$(document).ready()関数をできるだけ使用しないようにします)。私は次のようなビューモジュールの作成などでこれを行うことに成功しました:
var View = function (e) {
this.element = e;
};
View.prototype = {
show: function () {
this.element.fadeIn();
},
//More manipulation functions
};
$(document).ready(function () {
var myView = new View($('#element'));
myView.show();
});
AJAX呼び出しをオブジェクトにラップする方法が見つからないため、ロードされているDOMに依存しないため、AJAX呼び出しを行うたびに次のようなものを記述する必要はありません。
$.ajax({
url: "signout.php",
type: "POST",
dataType: "json",
error: function (jqXHR, textStatus, errorThrown) {
alert('An error occured while trying to log out.');
},
success: function (data, textStatus, jqXHR) {
settingsWidget.getAction('#settings').triggerAction(500, function () {
WIDGETS.setOnTop('#login', SideEnum.RIGHT);
});
},
complete: function (jqXHR, textStatus) {}
});
私がやろうとしていることを達成するために使用できるデザインパターンはありますか?また、jQuery DOMオブジェクトをViewオブジェクトに渡すのが最善でしょうか、それともセレクターだけを渡して、Viewオブジェクト内のDOMオブジェクトを取得するのが最善でしょうか?