一个页面直到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> |