2012-08-02 30 views
1

我的腳本中有以下功能,它們做同樣的事情。我該如何將它們結合起來?結合具有相同代碼的jquery功能

$('.AddOne').live('click', function(){ 
    $('.saveGroup').show(); 
}); 
$('#PhoneNumbersSelectms2side__sx option').dblclick(function(){ 
    $('.saveGroup').show(); 
}); 
$('.AddAll').live('click', function(){ 
    $('.saveGroup').show(); 
}); 

回答

4

click的和dblclick事件方法每個都回調函數作爲其第一個參數。在JavaScript函數中是變量。您創建一個函數,並把它傳遞給回調

var showFn = function(){ 
    $('.saveGroup').show(); 
}; 

$('.AddOne').live('click', showFn); 
$('#PhoneNumbersSelectms2side__sx option').dblclick(showFn); 
$('.AddAll').live('click', showFn); 

您可以通過現場選擇結合這樣進一步簡化驗證碼,

$('.AddOne, .AddAll').live('click', showFn); 

最後,如果你正在使用jQuery 1.7.x你應該使用新的on事件方法而不是live。您的新代碼如下所示:

var showFn = function(){ 
    $('.saveGroup').show(); 
}; 
var $doc = $(document); 
$doc.on('click', '.AddOne, .AddAll', showFn); 
$doc.on('dblclick', '#PhoneNumbersSelectms2side__sx option', showFn);