0
这是在写我的javascript一个经常性的问题:我的活动:合并两个类似的单击事件到一个
$(document).on('click','.mi_piace_brick',function(){
$this = $(this).children(),
$that = $(this),
i = s.get_current_step_id(),
j = $that.attr('data-class'),
counter = parseInt($('.like_counter_'+i+'_'+j).first().find('p').text());
if($this.hasClass('liked')){
$this.removeClass('liked');
$('.like_counter_'+i+'_'+j).find('p').text(--counter);
}
else{
$this.addClass('liked');
$('.like_counter_'+i+'_'+j).find('p').text(++counter);
}
})
而且
$(document).on('click','.pref_brick',function(){
$this = $(this).children(),
$that = $(this),
i = s.get_current_step_id(),
j = $that.attr('data-class'),
counter = parseInt($('.fav_counter_'+i+'_'+j).first().find('p').text());
if($this.hasClass('preferito')){
$this.removeClass('preferito');
$('.fav_counter_'+i+'_'+j).find('p').text(--counter);
}
else{
$this.addClass('preferito');
$('.fav_counter_'+i+'_'+j).find('p').text(++counter);
}
})
正如你可以看到,这两个功能基本上真的很相似。在这种情况下我经常遇到。在您看来,有一种方法只使用一种绑定来实现这个诀窍?
你能把代码的主体重构成一个单独的函数,该函数需要两个函数不同的位参数吗? – 2013-03-18 17:49:45