我这里有一些代码:
App.prototype.binds = function(){
var that = this;
$('.postlist li').live('click', function(){ that.selectPost(this);} );
}
App.prototype.selectPost = function(){
this.function();
}
我在绑定函数中将“this”的引用创建为“that”,因此在我的 selectPost() 中,我可以使用“this”来引用 App 对象而不是列表项。
有没有更优雅/标准的解决方案而不是使用“那个”?
有了答案,我的代码就变成了:
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);
}