这是正确的做事方式吗?在这里我通过 _this 传递this
背景是否有更好的方法
var messages = {
getLoadMore : function(_this){
...............
},
getSwappingData : function(_this){
.................
},
}
jQuery('.js-message-swap').live('click', function(){
_this = jQuery(this);
messages.getSwappingData(_this);
return false;
});
答案 0 :(得分:1)
你所拥有的将会很好。较短的版本是将函数的引用传递给click
处理程序,然后将this
应用于外部函数。试试这个:
var messages = {
getLoadMore : function() {
var $el = $(this);
return false;
},
getSwappingData : function() {
var $el = $(this);
return false;
}
}
jQuery('.js-message-swap').live('click', messages.getSwappingData);
答案 1 :(得分:0)
唯一的另一种方法是将它作为参数传递给函数而不是变量。
var messages = {
getLoadMore : function(_this){
...............
},
getSwappingData : function(_this){
.................
},
}
jQuery('.js-message-swap').live('click', function(){
// Remove this _this = jQuery(this);
messages.getSwappingData(jQuery(this));
return false;
});