我有两个脚本:
<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());