一个页面直到document是”ready“才能被安全的操作,Jquery为你检查这种状态。代码包含在$( document ).ready()的内部将会仅仅运行一次在页面Document Object Model (DOM)准备好执行JS代码之后。代码包含在$( window ).load(function() { ... })的内部将会运行一次在整个页面里准备好之后,不仅仅是DOM。
$( document ).ready(function() { console.log( "ready!" ); }); |
有经验的开发人员有时会使用$( document ).ready()的缩写。如果你不是有经验的jquery开发人员,最好还是写完整。
$(function() { console.log( "ready!" ); }); |
你也可以通过一个命名函数去$( document ).ready(),而不是通过匿名函数。
//传递方法名 function readyFn( jQuery ) {} $( document ).ready( readyFn ); $( window ).load( readyFn ); |
下面的例子是$( document ).ready()和$( window ).load(),这代码尝试去加载一个网站在<iframe>里并检查这两个事件。
<html> <head> <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> <script> $( document ).ready(function() { console.log( "document loaded" ); }); $( window ).load(function() { console.log( "window loaded" ); }); </script> </head> <body> <iframe src="http://techcrunch.com"></iframe> </body> </html> |