2010-04-27 5 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

Thanx, это, кажется, работает, но теперь у меня есть новая проблема, мне нужно добавить return if (click == false); , Я пытался добавить его в функцию var, но он не работает, могу ли я как-то добавить его к клику? Thanx снова – Mircea

+0

Насколько я знаю, это должно сработать. Вероятно, это зависит от того, на что ссылается переменная, поскольку она может выходить за пределы функции при ее выполнении. – tadman

3

Вы должны сделать "большую функцию" отделенной функцию ...

function the_big_function(){ 
    // do stuff 
} 

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


$('#another_element').click(function(){ 
    the_big_function(); 
}); 
Смежные вопросы