2013-02-12 109 views

回答

13

您已經添加了(),它導致函數執行。

例如:

var myFunc1 = function() { 
    alert('Hello'); 
}(); // <---() causes self execution 

var myFunc2 = function() { 
    return 5 + 5; 
}; 

var some_value = myFunc2(); // <--- Again() causes execution (you'd expect this one) 

在你的情況,如在評論中提到你基本上告訴onclick它的值設置爲函數的返回值。

如果您放棄()它應該按預期運行。

+0

順便說上,對於@bert,這意味着你的onclick處理程序被賦值爲「undefined」 - 因爲運行這個返回「undefined」的函數會將此結果賦給onclick。 – 2013-02-12 09:38:00

+0

@Lloyd所以只有在聲明或調用時纔會有括號,其餘所有(其中葉子只分配?)而沒有括號? – pwp 2013-02-12 10:07:19

+0

聲明或調用yes。分配只需放下它們。 – Lloyd 2013-02-12 18:40:00

0

()放在函數名後就是你如何調用它。

如果要將btw_bijtellen指定爲onclick,請從問題代碼的最後一行中刪除()

()那裏,您正在調用該函數並將它的返回值分配給onclick。由於該函數沒有return語句,該值將爲undefined,這不是您想要的。

3

如果你想叫上單擊函數,然後使用

$("bereken").on('click', btw_bijtellen); 

更新(按從WAO查詢)

如果需要傳遞參數,那麼你需要指定爲第二個論點。該$.on()獲取數據的event處理

$("bereken").on('click', {key1: value1, key2: value2, keyn: valuen}, btw_bijtellen); 

在那裏,你可以從event.data

var function = btw_bijtellen(event) { 
    var data = event.data; 
    console.log(data); 

    var key1 = event.data.key1; 
    console.log(key1); // this will output value1 
} 

得到您的參數已經讀此鏈接jQuery $.on() api

+0

如果您想將參數傳遞給'btw_bijtellen'函數,該怎麼辦? – 2015-08-07 10:41:42

+1

@Wao:希望更新的答案可以幫助你 – asifsid88 2015-08-07 13:15:07

相關問題