在没有参数但不使用参数的情况下调用回调

时间:2016-05-07 21:37:04

标签: javascript jquery callback jquery-callback

我有一个jQuery函数:

$(".foo").click(function(event) {
  console.log(event.type);
});

我想提取功能:

function logEventType(event) {
  console.log(event.type);
}

当我尝试使用参数

调用它时
$(".foo").click(logEventType(event));

它会在页面加载时自动运行,并且不会对点击功能进行操作。但是,如果我在没有参数的情况下调用它:

$(".foo").click(logEventType);

它的运行方式与我希望的完全一样。我想我的工作正常,但我只是想知道发生了什么以及为什么。

1 个答案:

答案 0 :(得分:-1)

.click需要匿名func或回调函数。当你传递func()时,它会立即执行。但是我们传递了回调函数,当相关事件与事件参数一起发生时,jquery将调用此函数,因此您可以访问该参数