You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8 Livewire保存数据后关模态框报$ is not defined错误如何解决

错误原因

Uncaught ReferenceError: $ is not defined 错误本质是代码中调用了jQuery的全局别名$,但jQuery未在当前页面正确加载、或加载顺序晚于你的自定义脚本。

解决方案
  • 方案1:调整资源加载顺序
    确保jQuery的引入标签放置在你的事件监听代码之前,Laravel项目常见的引入写法参考:
<!-- 优先引入jQuery -->
<script src="{{ asset('js/jquery.min.js') }}"></script>
<!-- 再引入Bootstrap JS以及你的自定义脚本 -->
<script src="{{ asset('js/bootstrap.bundle.min.js') }}"></script>
<!-- 你的事件监听代码放在最下方 -->
<script>
window.addEventListener('closeModel', event => {
    $("#Add_Student_Model").modal('hide');
})
</script>

如果你的项目使用Laravel Mix打包资源,需要在webpack.mix.js中配置自动加载jQuery,避免全局变量未暴露的问题:

mix.autoload({
  jquery: ['$', 'window.jQuery']
})

配置完成后重新执行npm run dev打包生效。

  • 方案2:移除jQuery依赖(适合Bootstrap 5+版本)
    Bootstrap 5及以上版本本身支持原生JS操作模态框,不需要依赖jQuery,直接修改你的监听代码即可规避该错误:
window.addEventListener('closeModel', event => {
    const modalEl = document.getElementById('Add_Student_Model');
    const modalInstance = bootstrap.Modal.getInstance(modalEl);
    modalInstance.hide();
})

内容的提问来源于stack exchange,提问作者Amila Madushan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 09:45:05