我試圖將AJAX回調函數綁定到某個範圍,我做錯了什麼?針對AJAX調用的JavaScript綁定
這裏是我的代碼:
var MainApp = {
files:{
"A":{
url:"files/a.json",
content:""
},
"B":{
url:"files/b.json",
content:""
}
},
init:function() {
this.loadFiles();
},
loadFiles:function() {
for (var i in this.files) {
var f = function (data) {
console.log("callback",this);
};
console.log("binding",this);
f.bind(this);
$.get(this.files[i].url, f);
}
}
};
$(function() {
MainApp.init();
});
究竟是什麼問題? – JJJ 2012-01-29 10:58:05
你試圖給回調的範圍是什麼? – Jivings 2012-01-29 10:58:12
感謝您的回覆,問題在於f回調中的「this」是窗口。 我想要的是,當調用回調時,「this」將是我的MainApp對象,而不是窗口......問題已解決;) – 2012-01-29 16:35:17