jquery - jQuery 在 Laravel 8 中无法正常工作
问题描述
我想在我的 Laravel 项目中使用 DataTables(jquery 插件)。
因此,我将所需的 js 和 css 文件链接(使用 cdn)放在我的刀片模板中,jquery 除外。因为我知道 jquery 已经存在(通过 'js/app.js' 在我的刀片模板中链接),因为我正在使用 Laravel UI 包。此外,$().jquery
在我的浏览器控制台中运行显示我有 jquery 3.5.1.. 因为 bootstrap 4.* 正在使用它。
但我得到了这个 - “uncaught referenceError....”,表现得好像我没有 jQuery。(jQuery 脚本也不起作用) 请参阅附图
所以,我添加了 jQuery cdn 链接并得到了“ jQuery defered exception ”
好吧,然后我从刀片布局中删除了“js/app.js”。现在 DataTables 工作,jQuery 脚本也工作,但 bootStrap 停止工作。
我该如何解决这个问题?!
解决方案
我找到了一个不寻常的解决方案。
如果我们以默认的“延迟”方式加载 app.js,就会出现问题。
<script src="app.js" defer></script>
只需删除defer
属性即可解决问题。
<script src="app.js"></script>
原因:
页面加载时加载数据表。但是defer
在页面加载后加载属性 jQuery。所以 datatable 抛出错误,它找不到 jQuery。
推荐阅读
- python - 运行@click.command 时程序停止
- python - 为什么 session._get_current_object() 返回的对象 id 在每次请求时都会更改,而 session 的 id 保持不变?
- php - 如何在没有发现问题的情况下复制供应商文件夹
- kubernetes - 带入口控制器的掌舵
- xml - 是否可以将查询结果与编辑结合起来?
- android - 错误:x86 仿真当前需要硬件加速
- firebase - 403 调用者没有 Firebase 管理 API addFirebase 的权限
- java - 快速变量插入字符串
- php - 将当前月份值与数组中前 5 个月的值相加
- elasticsearch - 通过 url 设置 Kibana 仪表板过滤器