无法从 (document).ready() 中的另一个.js文件调用函数



我有 2 个文件。

主.js 实用工具.js

主.js

$(document).ready( function() {
function instantiate_point_clouds(viewer_settings, cloud_meta) {
}
})

实用工具.js

$(document).ready( function() {
instantiate_point_clouds(viewer_settings, cloud_meta) ---> This is 
Uncaught ReferenceError: instantiate_point_clouds is not defined
})

这就是我调用这些js文件的方式。

<html>
<head>
<script src='/js/main.js'>
</head>
<body>
<script src='/js/utils.js'>
<body>
</html>

该函数instantiate_point_clouds执行异步调用,不管这不应该像我在 trick.js 之前调用 main .js那样工作。该函数存在于main中.js但说如果从utils.js调用则未定义,这与$(document).ready()有关吗?

$(document).ready()

因此,它将在页面加载时被解析并可用于$(document).ready()

正如 Isaac Abramowitz 在注释中所说,当您在示例代码中定义函数时,您是在传递给$(document).ready()匿名函数的范围内执行此操作,第二次调用(无论是否在同一文件中)无法到达,因为它们不共享范围。有关此主题的更多信息,请参阅此处

顺便说一句,你可以只使用$(function(){})而不是$(document).ready().

最新更新