我最近閱讀了一篇關於讓代碼儘可能少依賴DOM的博客文章(即儘可能多地保留$(document).ready()函數)。我已經成功地創建像這樣的觀點模塊的東西這樣做:試圖使AJAX調用不那麼笨
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();
});
我似乎無法找到一種方法來包裝,使他們不依賴於DOM是正在AJAX調用到對象加載的,所以我不必每次我做一個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對象?
從技術上講,您的整個模塊都依賴於DOM ready事件。 –