2

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

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

然后我意识到我需要发送一些参数,突然发现 JS 正在执行该函数:

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

有没有办法在不立即执行的情况下做到这一点?

4

2 回答 2

4

问题出在您正在调用该函数的第二个片段中(event)

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

{callback:function(e){ do my thing with e }}
于 2013-10-09T13:16:14.310 回答
0

由于这里的括号,它正在执行 -(event)

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

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

if(thisCondition) {
    callback(event)
}
于 2013-10-09T13:17:53.910 回答