将脚本重写为 jQuery 3



在我的网站上,我使用以下代码。它适用于jQuery 2.2.3。现在我想使用 jQuery 3,但它似乎不起作用。你能帮我把这段代码重写成jQuery 3吗?香草js解决方案也将不胜感激

$(document).ready(function () {
    $('#preloading').load("loading.html", function () {
        $(window).load(function () {
            $('#preloading').fadeOut('slow');
        });
    });
});

您的问题是因为在 jQuery 3.x 中,load() 方法仅用于通过 AJAX 请求检索内容,因此将其用作事件处理程序是无效的。顺便说一句 - 使用 2.x 的原始代码中不需要它。

要解决此问题,只需删除$(window).load()调用:

$(document).ready(function () {
    $('#preloading').load("loading.html", function() {
        $('#preloading').fadeOut('slow');
    });
});

Lucas,您的代码已弃用/删除方法:

  1. 已弃用$(document).ready (https://jquery.com/upgrade-guide/3.0/#deprecated-document-ready-handlers-other-than-jquery-function)
  2. 已移除.load() (https://jquery.com/upgrade-guide/3.0/#breaking-change-load-unload-and-error-removed)

更换后:

$(function () {
    $('#preloading').load("loading.html", function () {
        $(window).on('load', function () {
            $('#preloading').fadeOut('slow');
        });
    });
});

最新更新