事件声明中是否需要'function()'?



我有两个脚本:

<script src="../js/createopp.min.js"></script>
<script src="../js/validation.min.js"></script>

以下行在第一个脚本中,在另一个脚本中调用函数:

$('#places').blur(function(){checkPlacesAvailable()});

如果我将其重写为

$('#places').blur(checkPlacesAvailable());

我在函数上收到"未定义"错误。但是我看到很多使用第二种格式的例子。在我的情况下,是否有明显阻止第二个版本工作的东西?

您应该像这样将函数引用传递给事件处理程序。

$('#places').blur(function(){checkPlacesAvailable()});
">

是"等同于"这个

$('#places').blur(checkPlacesAvailable);

请注意,由于作用域和所有这些原因,它并不完全相同,但大多数时候你可以以第二种方式传递它

此代码:

$('#places').blur(checkPlacesAvailable());

立即启动函数。如果你不想写"函数",你可以这样做:

$('#places').blur(() => checkPlacesAvailable());

相关内容

最新更新