Javascript 传阅;这";jquery中的上下文
这是正确的做事方式吗。另外,我在这里通过传递Javascript 传阅;这";jquery中的上下文,javascript,jquery,Javascript,Jquery,这是正确的做事方式吗。另外,我在这里通过传递这个上下文\u这个有更好的方法吗 var messages = { getLoadMore : function(_this){ ............... }, getSwappingData : function(_this){ ................. }, } jQuery('.js-message-swap').live('click', function(){
这个上下文\u这个有更好的方法吗
var messages = {
getLoadMore : function(_this){
...............
},
getSwappingData : function(_this){
.................
},
}
jQuery('.js-message-swap').live('click', function(){
_this = jQuery(this);
messages.getSwappingData(_this);
return false;
});
唯一的其他方法是将其作为参数而不是变量传递给函数
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;
});
你所拥有的会很好用的。较短的版本是将函数的引用传递给click
处理程序,然后该处理程序将此
应用于外部函数。试试这个:
var messages = {
getLoadMore : function() {
var $el = $(this);
return false;
},
getSwappingData : function() {
var $el = $(this);
return false;
}
}
jQuery('.js-message-swap').live('click', messages.getSwappingData);
您不一定需要\u this=jQuery(this)
直接将其作为参数传递。仅供参考,.live()
不推荐使用,您应该使用.on()
。构造函数中的是什么意思?
?类可以,但它们是函数,所以很遗憾,您不能使用