このブログ投稿に記載されてthis
いるように、Javascriptの無名関数でスコープを設定できます。
AJAXリクエストthis
の無名関数呼び出しでスコープするより洗練された方法はありますか(つまり、を使用していません)?success
that
例えば:
var Foo = {
bar: function(id) {
var that = this;
$.ajax({
url: "www.somedomain.com/ajax_handler",
success: function(data) {
that._updateDiv(id, data);
}
});
},
_updateDiv: function(id, data) {
$(id).innerHTML = data;
}
};
var foo = new Foo;
foo.bar('mydiv');
callを使用しますが、親オブジェクトスコープに名前を付ける必要がありますthat
。
success: function(data) {
(function() {
this._updateDiv(id, data);
}).call(that);
}