JS中onload方法,JQ中的load,ready方法

Posted yangchin9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中onload方法,JQ中的load,ready方法相关的知识,希望对你有一定的参考价值。

JS中的 onload 

属性:网页中所有的内容加载完毕后(包括图片)才能执行;

   页面中只能有一个onload

window.onload = function() {
   …… 
};

 

JQ的 ready()

属性:网页中所有DOM结构绘制完毕后就执行,可能DOM元素关联的东西并没有加载完(例如图片);

   页面中可以写用多个

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

简写:$(function(){……})

JQ的 load()

属性:这个方法会等到页面所有内容加载完毕后才会触发,并且同时没有onload事件属性的缺点。

注意:《锋利的Jquery》中4.1.1中的描述如下:

  另外需要注意一点,由于在$(document).ready()方法内注册的事件,只要DOM就绪就会被执行,因此可能此时元素的关联文件未下载完。例如与图片有关的html下载完毕,并且已经解析为DOM树了,但很可能图片还未加载完毕,所有例如图片的高度和宽度这样的属性此时不一定有效。要解决这个问题,可以使用jQuery中另一个页面加载的方法--load()方法。load()方法会在元素的onload事件中绑定一个处理函数。如果处理函数绑定给window对象,则会在所有内容(包括窗口,框架,对象和图像等)加载完毕后触发,如果处理函数绑定在元素上,则会在元素的内容加载完毕后触发。

$(window).load(function() {
     ……
}); 
// 此处用法和作用于window.onload = function(){……} 方法相同

补充说明:JQ中有两个load()方法,一个是JQuery事件load()方法,一个是JQuery Ajax load()方法.

JQuery事件load()方法:

  页面中只能有一个

$("img").load(function() {
     console.log("图像已加载")  //在图片加载完成后打印提示内容
});

JQuery Ajax load()方法:

  load() 方法通过 AJAX 请求从服务器加载数据,并把返回的数据放置到指定的元素中。

$("button").click(function() {
   $("div").load("demo_ajax_load.txt");   //通过AJAX请求来改变div元素的文本
});

 

相关:

function clickReload() {
    window.location.reload()    
} //调用次函数 浏览器将重新加载(刷新)当前页面

 

以上是关于JS中onload方法,JQ中的load,ready方法的主要内容,如果未能解决你的问题,请参考以下文章

jquery获取不到动态加载的dom元素是一种啥样的体验

js & jq 加载js

JS中的DOM

js的 window.load 和window.onload 有啥区别

js中的window.onload链接外部js文件能不能写两次以上?即每一个js文件都用一下window.onload

[Jquery]关于$.load()使用的一些问题