私はここにいくつかのコードを持っています:
App.prototype.binds = function(){
var that = this;
$('.postlist li').live('click', function(){ that.selectPost(this);} );
}
App.prototype.selectPost = function(){
this.function();
}
binds関数で「this」の参照を「that」として作成しているので、selectPost()で、リスト項目の代わりに「this」を使用してAppオブジェクトを参照できます。
「それ」を使用する代わりに、これに対するより優雅で標準的な解決策はありますか?
Answerを使用すると、私のコードは次のようになります。
App.prototype.binds = function(){
$('.postlist li').live('click', $.proxy(this.selectPost, this) );
}
App.prototype.selectPost = function(e){
this.function(); // function in App
var itemClicked = e.currentTarget; //or
var $itemClicked = $(e.currentTarget);
}