2013-02-12 96 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

相关问题