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