首页 > 解决方案 > jQuery document.ready 在 v3.0 之后导致问题

问题描述

我目前正在使用 jQuery 3.0.0。

我还安装了捆绑软件,因此我将所有内容捆绑到一个(不是那么大)文件中并提供async

我的捆绑文件如下所示:

vendor/jQuery.3.0.0.min.js
// Other jQuery-ui etc.

// My own stuff
CookieNotice.js
// more stuff

InitReady.js

InitReady.js的目的是初始化某些函数,这些函数封装在document.ready中——它看起来像这样:

$(document).ready(function () {
    cookieNotice.init();
});

所有这些都适用于我当前版本的 jQuery。

然而,我已经尝试升级 jQuery 版本——首先我查看了 3.4.1 版本,然后是 3.5.1。但我得到了几个 jQuery 错误(奇怪的是,只有在使用压缩文件时)。这是错误:

jQuery.Deferred exception: a is not a function TypeError: a is not a function
    at k (http://localhost:2602/assets/scripts/v-200519131800/Init.min.js:1:39990) undefined

由于 jQuery 的未压缩版本没有抛出明显的错误,我以一种非常粗略的方式对其进行了追溯,发现如果我document.readyInitReady.js中删除了错误,错误就会消失——即使我保持内容完好无损。

此外,如果我离开 document.ready 没有任何内容,错误仍然存​​在。

从我所见,如果没有文档,事情似乎仍然有效。准备好,但我不确定这是否只是侥幸。

任何人都可以就我所看到的以及我可能需要做些什么来解决它提供建议。

标签: jquery

解决方案


推荐阅读