javascript - 从外部 js 文件发出运行函数
问题描述
我正在尝试做一些我认为应该是基本和基本的事情,但它不起作用。我查看了许多相关的 Stackoverflow QA,但没有一个涵盖这个确切的问题。
我想从名为 main.js 的外部 js 文件运行一个函数。该文件以通常的方式加载到 html 页面的正文部分的底部。该文件的所有内容都在标准的 jQuery 包装器中。我知道它正在正确加载,因为我可以在开发人员工具中看到它,并且其中编码的各种动画运行正常。我在页面的 head 部分加载了 jQuery 3.3.1,并且它必须再次正确加载,因为动画正在运行。
作为测试,我在 main.js 中有以下函数:
function alerttest() {
alert('Function test works');
}
然后在html页面的主体中调用函数如下:
<script>
alerttest();
</script>
因此,当我刷新页面时,我应该会收到警报,但这不会发生。我在控制台中收到错误: Uncaught ReferenceError: alerttest is not defined。如果我在错误的位置加载脚本会发生这种情况,所以我也尝试了这个来调用函数,以便首先加载 DOM:
<script>
$(function() {
alerttest();
});
</script>
但我得到相同的参考错误。谁能建议发生了什么?
环境:Windows 10、VSCode、Codeigniter 3、jQuery 3.3.1、WAMP 和 PHP 7.4.7
解决方案
我相信我已经解决了这个问题,并且正如我所怀疑的那样,它与脚本的位置有关。我一直被建议在页面底部的结束正文标记上方包含脚本,但这在这种情况下不起作用。我现在已经将我的 main.js 和 jQuery CDN 一起放在了 head 部分,一切正常。
非常感谢您的回复。
推荐阅读
- docker - 在 docker 中有分离的网络
- python - sco.optimize.minimize_scalar 的多线程/多处理替代方案?
- spring-boot - 在 Spring Validation 中允许数值
- php - 如何从 Wordpress Media 获取图像标题和描述
- oauth-2.0 - 当根据 Shopify 禁止索取时,如何从用户那里获取 Shopify oAuth 2.0 的 myshopify URL?
- r - 用 dplyr+stringr 替换多个模式?
- visual-studio-2015 - MicrosoftAzureTools.VS140,这仅适用于 VS2015 吗?VS2017的更新版本是什么?
- windows - PowerShell 将参数添加到命令 / For-Each?
- twincat - 安装 TWINCAT 时 VS2019 无响应
- android - 使用列表项 longclicklistener 在应用布局顶部显示上下文菜单布局