2013-06-12 47 views
2

忘了这件事我觉得这么愚蠢,但我已经练习了一分钟,而且我画了一个空白。JavaScript - 定义函数而不调用它?

为什么slideDown被称为onload而不是点击处理?

function buttonClicked(buttonNumber) { 
    $contentBox.slideDown("slow"); 
}; 

$button1.click = buttonClicked(1); 
+2

因为你调用'buttonClicked'。函数引用后的'()'总是调用该函数。例如:'function foo(){alert(42); }; FOO();'。这里调用'foo'是因为我在变量名后加了'()'。顺便说一句,如果'$ button1'是一个jQuery对象,那么你必须传递一个函数引用到'.click'方法,而不是给它赋值。请参阅http://learn.jquery.com/events/。 –

回答

6

你想构建它作为

$button1.click(function() { 
    buttonClicked(1); 
}); 

这将使被点击$button1时触发。

0

试试这个:

$button1.click(function() { 
    buttonClicked(1); 
}); 

documentation在api.jquery.com

相关问题