在CodeSchool上学习,他们建议将函数存储在对象中并稍后调用它们。
在我想要将参数传递给函数之前,这一点非常好。在这一点上,我迷失了语法或背后的逻辑。
示例代码值得千言万语:
var subscriptionMaster = {
init: function() {
$('.choose_offer').on('click', this.toggleOfferClass);
$('.nextFirstPage, .nextSecondPage, .prevThirdPage, li:not(".firstLink")').on('click', this.changeDisplayTransForm('none', false);
$('.prevSecondPage, .firstLink').on('click', this.changeDisplayTransForm('block', true);
},
toggleOfferClass: function(event) {
$('.choose_offer').removeClass('active');
$(this).addClass('active');
},
changeDisplayTransForm: function(sState, bVerifyStep1) {
$('#transformClientToMaster').css('display', sState);
if (bVerifyStep1) {
if ($('#step1_done').val() != '1') {
changeDisplayTransForm(sState);
}
}
}
};
这个:
$('.choose_offer').on('click', this.toggleOfferClass);
工作正常,而这个:
$('.nextFirstPage, .nextSecondPage, .prevThirdPage, li:not(".firstLink")').on('click', this.changeDisplayTransForm('none', false);
$('.prevSecondPage, .firstLink').on('click', this.changeDisplayTransForm('block', true);
根本不起作用。
任何帮助?