一旦更新到v3.0.0
,我就会从jQuery得到以下错误。
jquery.js:9612 Uncaught TypeError: url.indexOf is not a function
知道为什么吗?
发布于 2016-12-21 19:46:54
更好的方法可能是像这样的多层填充
jQuery.fn.load = function(callback){ $(window).on("load", callback) };
这样,您就可以保持遗留代码不变。如果你使用的是webpack,一定要使用脚本加载器。
发布于 2016-06-20 14:12:21
Jquery 3.0有一些突破性的变化,由于冲突而删除了某些方法。您的错误很可能是由于这些更改之一造成的,例如删除了.load()事件。
在jQuery Core 3.0 Upgrade Guide中阅读更多内容
要解决这个问题,你要么需要重写代码,使其与jQuery3.0兼容,要么你可以使用JQuery Migrate plugin来恢复过时和/或移除的API和行为。
发布于 2020-09-04 19:32:25
@choz答案才是正确的方式。如果你有许多用法,并且想要确保它在任何地方都能正常工作,而不做任何更改,你可以添加这些小的迁移代码片段:
/* Migration jQuery from 1.8 to 3.x */
jQuery.fn.load = function (callback) {
var el = $(this);
el.on('load', callback);
return el;
};
在这种情况下,您在其他节点上没有错误,例如在$image
上,就像@Korsmakolnikov答案一样!
const $image = $('img.image').load(function() {
$(this).doSomething();
});
$image.doSomethingElseWithTheImage();
https://stackoverflow.com/questions/37738732
复制相似问题