jQuery:$ window.on(' load',...)在更新jQuery后停止工作

时间:2016-07-31 15:42:19

标签: javascript jquery

我根据我的需要调整Stellar HTML5UP模板中的代码。在某些时候,我决定将jQuery从1.11.7更新到3.1.0。

(function($) {

    $(function() {

        var $window = $(window),
            $body = $('body'),
            $main = $('#main');

        // Disable animations/transitions until the page has loaded.
        $body.addClass('is-loading');

        $window.on('load', function() {
            console.log("Page loaded");
            window.setTimeout(function() {
                $body.removeClass('is-loading');
            }, 100);
        });

        // more code
    });

})(jQuery);

使用jQuery 1.11时,我可以看到" Page loading"在我的Web控制台中。更新jQuery后 - 代码块不再执行。

为什么?

3 个答案:

答案 0 :(得分:1)

它在1.8中已弃用,在3.0中已删除。请参阅文档:https://api.jquery.com/load-event/

答案 1 :(得分:0)

这是否满足您的要求

var $window = $(window),
    $body = $('body'),
    $main = $('#main');       
    $body.addClass('is-loading');
    $(window).on('load', function() {
        console.log("Page loaded");
        window.setTimeout(function() {
            $body.removeClass('is-loading');
        }, 100);
    });

将脚本包装在您的身体内

https://jsfiddle.net/78z2rmsb/

答案 2 :(得分:0)

如前所述,在调用ready之前,窗口加载已经发生。尝试在文档外部声明加载窗口,如下所示。

<script>    
    $(window).on("load", function() {
        // do something
    });

    $(document).ready(function(){
        // do other stuff
    });
</script>