2011-03-17 117 views

回答

3
$(window).bind('load', function() 
{ 
    //your code in here 
}); 
33

如果你的意思是,当HTML文件已加载,使用ready事件:

$(document).ready(function(){ 
    ... 
}); 

或者简写:

$(function(){ 
    ... 
}); 

如果你的意思时,包括所有样式表的页面,脚本,图像和诸如此类的东西已经完成加载,使用load事件:

$(window).load(function(){ 
    ... 
}); 
+1

-1号那DOM准备,而不是当窗户完全泄露。在所有图像等被下载之前以及在页面呈现给客户端之前,DOM已准备就绪。 – 2011-03-17 22:49:33

+0

@詹姆斯韦斯特盖特:太迟了,我已经清楚了答案。 – Guffa 2011-03-17 22:50:34

+0

@JamesWestgate,这个SO问题的接受答案说:http://stackoverflow.com/questions/4584373/difference-between-window-loadfunction-and-document-readyfunction说:位修正,没有:$ (document).load(function(){ – 2013-03-13 12:53:38

-1

您正在寻找窗口加载事件。

在jQuery中您将附加负载事件如下:

$(document).ready(function() { 

    $(window).load(function() { 

    } 

} 

请注意,您需要将这个准备一些浏览器,IE8 OTTOMH一个文档内。

+0

准备好的包装没有必要 – Blaise 2011-03-17 22:49:45

+0

为什么你需要延迟挂钩的负载事件?它被用于数百万页,并且很少(如果有的话)通过将事件从类似的事件挂钩来完成。 – Guffa 2011-03-17 22:52:18

+0

我遇到了这个问题,其中window.load没有被触发,解决方案是将window.laod包装在document.ready中。我把你引用到http://stackoverflow.com/questions/5006922/window-load-inside-a-document-ready – 2011-03-17 22:59:35

1

这取决于您对“负载”的定义。看看这两个功能在jQuery的文档:

具体来说,你可以看到在ready()功能的文档页面的差异。

虽然JavaScript提供了当一个页面 呈现执行代码加载 事件,这个事件没有得到 触发直到如 图像已被完全接收的所有资产。 在大多数情况下,只要完整构建DOM层次结构 ,即可运行脚本 。该处理器通过 到。就绪()保证是DOM后执行 准备,所以 这通常是最好的地方, 连接所有其他事件处理程序和 运行其它jQuery代码。在使用依赖于CSS 样式属性的值的 脚本时, 引用外部样式表或 嵌入样式元素对 引用脚本之前非常重要。

在代码依赖于加载 资产情况下(例如,如果需要的图像的 尺寸)时,代码 应该被放置在一个处理程序 加载事件来代替。

0

尝试加载事件回调绑定到页面上的最后一个影像。

0

。一旦文件被完全加载使用

$(document).ready(function(){ 
    ... 
}); 

否则,如果页面加载通过Ajax调用使用调用一个方法

$('#containerdiv').load('samplepage.jsp', function() { 
    alert("ajax load complet.."); 
}); 
1

当DOM准备再使用。就绪事件。

jQuery(document).ready(function(){ 
    //content 
}); 

您还可以使用.load事件时,页面加载图像。

jQuery(window).load(function(){ 
    //content 
}); 
0

如果你真的想你的Javascript运行一次 '一切' 所有的HTML被加载时,你可以用

window.onload = function(){ 
 
    // Do stuff 
 
}