我试图将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