两种方法实现在HTML页面加载完毕后运行某个js:

在DOM加载完就可以执行(比window.onload更早)。在同一页面中可以多次出现.ready()

两者主要区别:Window.onload=function (){}:

当一个文档完全下载到浏览器中时,才会触发window.onload事件。这意味着页面上的全部元素对js而言都是可以操作的,也就是说页面上的所有元素加载完毕才会执行。这种情况对编写功能性代码非常有利,因为无需考虑加载的次序。

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

会在DOM完全就绪并可以使用时调用。虽然这也意味着所有元素对脚本而言是可以访问的,但是,并不意味着所有关联的文件都已经下载完毕。换句话说,当HTML下载完成并解析为DOM树之后,代码就会执行。

使用$(document).ready(function (){})一般来说都要优于使用onload事件处理程序,但必须要明确一点,因为支持文件可能还没有加载完成,所以类似图像的高度和宽度这样的属性此时不一定有效。

注:用把js放在页面底部的方法以及运用defer=”defer”的方法都是会出现问题的。最好使用$(document).ready(function (){})函数。

猜你喜欢

转载自my.oschina.net/u/3696256/blog/1785046