2010-04-27 67 views
1

我有一個大的函數定義並在單擊元素上執行。有沒有一種方法可以在稍後再次執行「大」函數,並以某種方式調用它,而無需再次編寫它?jQuery調用預定義的函數

$('#element').click(function(big){ 
    some big function 
    ... 
    ... 
}); 


$('#another_element').click(function(){ 
    this should execute the previous "big" function 
}); 

Thanx。

回答

6

如果您在呼叫外部定義了您的功能,您可以隨意多次使用它。

var bigfunction = function(big) { ... }; 

$('#element').click(bigfunction); 
$('#another_element').click(bigfunction); 

還可以聲明其通常的方式:

function bigfunction(big) { ... }; 
+0

感謝名單,這似乎工作,但現在我有一個新的問題,我需要添加一個if(點擊== false)return; ,我試圖將它添加到var函數,但它不工作,我可以以某種方式將它添加到點擊? Thanx再次 – Mircea 2010-04-27 17:20:08

+0

據我所知,這應該工作。這可能取決於變量點擊所引用的內容,因爲它在執行時可能超出函數的範圍。 – tadman 2010-04-28 04:03:55

3

你應該把「大功能」分離的功能...

function the_big_function(){ 
    // do stuff 
} 

$('#element').click(function(big){ 
    the_big_function(); 
}); 


$('#another_element').click(function(){ 
    the_big_function(); 
});