2013-06-12 76 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

相關問題