与window.load函数混淆

时间:2018-02-06 17:36:37

标签: jquery

使用这些功能有什么区别:

 $(window).load(function() {
        //do something
  });

  $(window).on('load', (function() {
        //do something
  });

基本上我有一个加载大量图像的页面(有时大约100个)。在所有图片都加载之前,我不想显示页面。我看到的是,如果我使用第二个函数,有时候函数永远不会被执行。无法理解为什么会发生这种情况

2 个答案:

答案 0 :(得分:1)

.load()事件:

  

此方法是.on( "load", handler )的快捷方式。

答案 1 :(得分:0)

忘记.load(),如前所述,它已被弃用并从jquery lib中删除。

使用.on()。 它的作用(.on('load',function()))只是等到所有相关元素(与url结合,包括图像)加载,然后执行处理程序的内容。

如果您使用ajax加载图片,则可能无法每次都有效,因为在xhr请求期间可以完全加载 window 元素。

如果是,请改用.ajaxStop()

例如:

$(document).ajaxStop(function(){
    $('img').show();
});