使用这些功能有什么区别:
$(window).load(function() {
//do something
});
和
$(window).on('load', (function() {
//do something
});
基本上我有一个加载大量图像的页面(有时大约100个)。在所有图片都加载之前,我不想显示页面。我看到的是,如果我使用第二个函数,有时候函数永远不会被执行。无法理解为什么会发生这种情况
答案 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();
});