序言
我是在CSDN的技术问答中看到“JS中有没有jquery.ready这样的方法”这个问题后,再看到两篇不错的文章:
深入分析jQuery的ready函数是如何工作的(工作原理)
jquery $(document).ready() 与window.onload的区别
以下是我结合问题及这两篇文章的相关性进行简单的编写:
内容
JS中定义的事件
window.onload或者在<body>标签中注入:onload="fn()"
整个文档中只能定义 1 个,且其中定义的方法在DOM、图片、Flash等媒体加载完之后才执行
Jquery中定义的事件
注:Jquery中定义的事件,整个文档中能定义 N 个,并按顺序执行。
$(window).load(function() {});
其中定义的方法在DOM、图片、Flash等媒体加载完之后才执行
$(document).ready(function(){});
简化写法:$(function(){});
其中定义的方法在DOM加载之后执行,无需等待图片等附件加载完之后才执行
load特殊情况
由于JQuery在封装JS中的判断,导致在嵌入frame的IE中,先执行嵌入frame再执行当前文档的onload.