2013-10-16 85 views
1

我有一個腳本:運行jQuery函數

$('#subButton').click(function(){ 
    // do function stuff 
    }); 

我希望能有2個聽衆運行相同的功能。我怎麼能做到這一點,而不是所有'做功能的東西'寫兩次,這是很多東西要做。偵聽器點擊一個實例,以及在其他改變...

基本上我想要做的外行的角度是這樣的:

$('#subButton').click OR $('#search').change (function(){ 
// do function stuff 
}); 

回答

1

創建一個功能,只要你想使用它:

var fn = function(){ 
    //do function stuff 
}; 

$('#subButton').click(fn); 
$('#search').change(fn); 
1

你可以寫的處理程序作爲一個單獨的函數,然後使用處理程序參考註冊這兩個處理程序

function handler(){ 
} 

$('#subButton').click (handler); 
$('#search').change (handler); 
+0

對不起阿朗,編輯我的問題。 – bart2puck

2

您可以使用逗號組合選擇器。

$('#subButton, #search').click(function(){ 
      // do function stuff 
    }); 

根據您的更新。您可以在獨立的函數中編寫處理程序,併爲它們提供相同的函數引用。

function handler(){ 
     // do function stuff 
    } 

    //... 

    $('#subButton').click(handler); 
    $('#search').change(handler); 
+0

抱歉@PSL,編輯我的問題。 – bart2puck

+0

@ bart2puck查看更新。 – PSL