传递JavaScript函数而不执行

时间:2013-10-09 13:13:32

标签: javascript parameters callback

我有一个没有参数的回调,它存储在没有执行的对象中:

{callback:function(){ do my thing }}

然后我意识到我需要发送一些参数,并且所有突然的JS都在发现时执行该函数:

{callback:(function(e){ do my thing with e })(event)}

有没有办法在不立即执行的情况下执行此操作?

2 个答案:

答案 0 :(得分:4)

问题在于您使用(event)调用该函数的第二个代码段。

您应该只能删除它,并且在执行回调时,如果事件传递给回调,它将是e

{callback:function(e){ do my thing with e }}

答案 1 :(得分:0)

由于这里的括号 - (event)

,它正在执行

此参数在函数声明中定义 - function(e)

您需要在客户端代码执行回调的任何地方传递此参数,例如

if(thisCondition) {
    callback(event)
}