jQuery中处理加载时机的几种方式

第一种:

jQuery(document).ready(function() {

alert("你好");
});
//或
$(document).ready(function() { alert("你好"); });

第二种:

 jQuery(function() {

alert("你好");

});
//或
$(function() { alert("你好"); });

第三种:

 (function() {

alert("你好");

})(jQuery);

(function() { alert("你好"); })($);

(function() { alert("你哈"); })();

以上三种方式,第三种方式的执行优先级比第一种、第二种都要高。第一种和第二种平级。

以上三种又可以用 window.onload = function () {};代替。

$(function(){})和window.onload(){}区别?

1.window.onload(){};需要等页面所有的内容(包括元素的所有关联文件)都加载完成才会执行onload的代码;

$(function(){});在页面的dom元素加载完毕后就执行,而无需等到图片或其他媒体下载完毕;

执行下面这段代码进行验证:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>区别验证</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
function img_load(){
alert($("img").attr("width"));//250
}
$(function(){
alert($("img").attr("width"));//undefined
$("img").attr("width","250px");
});
</script>
</head>
<body onload="img_load()">
<img alt="" src="data:images/404.jpg" />
</body>
</html>

$(function(){})和window.onload(){}区别验证

2.$(document).ready()方法可以多次使用而注册不同的事件处理程序,而window.onload一次只能保存对一个函数的引用,多次绑定函数只会覆盖前面的函数。

body.onload和window.onload(){}区别?

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>onload测试</title>
<script type="text/javascript">
function test1(){
alert("我是test1");//显示
}
function test2(){
alert("我是test2");//显示
}
</script>
</head>
<body onload="test1(),test2()"> </body>
</html>

onload加载多个函数测试

用$(window).load()加载多个函数

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
//window对象只能保存一个函数的应用
window.onload=function(){
alert("我是加载一");
};
window.onload=function(){
alert("我是加载二");//显示
};
//使用下面的方法解决window加载多个函数
$(window).load(function (){
alert("测试1");//显示
});
$(window).load(function(){
alert("测试2");//显示
});
</script>
</head>
<body> </body>
</html>

window.load加载多个函数测试

原文链接:jQuery(document).ready(function($) { });的几种表示方法

【JQuery】jQuery(document).ready(function($) { });的几种表示方法及load和ready的区别的更多相关文章

  1. JS的window.onload与JQuery的$(document).ready(function(){})的区别

    前段时间去面试被问及JS的加载(onload)与jQuery中加载(ready)方法的区别,瞬时懵逼了,关于这个知识点平时还真没怎么注意. 最近先来无事便查了一下资料, onload 事件(W3c上给 ...

  2. jQuery的document ready与 onload事件——你真的思考过吗?

    在进行实验和资料查询时,我遇到了几个关键问题: 1. window.onload到底是什么加载完触发? 2. body为什么会有onload事件? 3. 为什么是window.onload,而不是do ...

  3. jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解

    1.(function($) {…})(jQuery); 1).原理: 这实际上是匿名函数,如下: function(arg){…} 这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写 ...

  4. Jquery中$(document).ready()与传统JavaScript中的window.onload方法的区别(2016/8/3)

    Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间       ...

  5. JQuery的$(document).ready(function(){})与JS的window.onload 的各自优势!

    由于项目需要,使用JQuery也有相当一段时间了.由于经常要处理DOM节点加载.图片显示以及动态资源请求,所以对$(document).ready(function(){})理解也越来越深了,所有在此 ...

  6. jquery ready()的几种实现方法小结

    几种jQuery的ready ()的写法. 1.最常用也是最标准的  $(document).ready(){  });  2.是上面的简写:  $(function(){  })  很奇怪?为什么能 ...

  7. Jquery中"$(document).ready(function(){ })"函数的使用详解

    Jquery是优秀的Javascrīpt框架,$是jquery库的申明,它很不稳定(我就常遇上),换一种稳定的写法jQuery.noConflict(); jQuery(document).ready ...

  8. javascript的window.onload()方法和jQuery的$(document).ready()的对比

    jQuery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的. 1.执行时间 windo ...

  9. jQuery中$(function(){})与(function($){})(jQuery)、$(document).ready(function(){})等的区别详细讲解 ----转载

    1.(function($) {-})(jQuery); 1).原理: 这实际上是匿名函数,如下: function(arg){-} 这就定义了一个匿名函数,参数为arg 而调用函数时,是在函数后面写 ...

随机推荐

  1. Python编译exe

    有几种办法,选择py2exe,从pip安装,还不行,下载看起来都比较老,还是在csdn上下载了一个64位版本for2.7的 http://download.csdn.net/download/henu ...

  2. glValidateProgram只用于调试

    glValidateProgram应该只用于调试,用于release版本中会影响性能.以下是详细描述:   Before doing so, however, we might want to che ...

  3. idea中的maven模块变成灰色的可能原因

    在使用idea的过程中,遇到其中一个maven模块变成灰色,如下所示: 造成这个的原因可能是忽略了maven模块,可以尝试如下解决方法:在idea中maven的setting中找到ignored fi ...

  4. (纪录片)《星际穿越》中的科学 The Science of Interstellar

    简介: 导演: Gail Willumsen编剧: Gail Willumsen主演: 克里斯托弗·诺兰 / 乔纳森·诺兰 / 基普·索恩 / 马修·麦康纳类型: 纪录片 / 短片制片国家/地区: 美 ...

  5. 推荐一些socket工具,TCP、UDP调试、抓包工具

    还记得我在很久很久以前和大家推荐的Fiddler和Charles debugger么?他们都是HTTP的神器级调试工具,非常非常的好用.好工具能让你事半功倍,基本上,我是属于彻头彻尾的工具控. 假如有 ...

  6. springboot项目启动多个实例的方法

    我现在需要实现这样的功能:将一个服务提供者启动多个实例,下面我列出在eclipse中启动多个实例的方法: 首先看一下我的服务提供者的项目文件结构: springboot默认的配置文件是applicat ...

  7. robot framework-requests库安装过程问题解决

    这几天本想研究下用robotframework+HTTP library (Requests)来做接口测试(http协议), 安装完Requests库后,在RIDE里导入该库时显示是红色,即导入失败( ...

  8. CMUSphinx Learn - Basic concepts of speech

    Basic concepts of speech Speech is a complex phenomenon. People rarely understand how is it produced ...

  9. 通过jdbc获取数据库中的表结构 主键 各个表字段类型及应用生成实体类

    http://www.cnblogs.com/lbangel/p/3487796.html 1.JDBC中通过MetaData来获取具体的表的相关信息.可以查询数据库中的有哪些表,表有哪些字段,字段的 ...

  10. ubuntu1604安装tensorflow

    操作系统 :ubuntu-16.04.2-desktop-amd64tensorflow版本: 1.0.0python版本 : 2.7.12 开启ssh : sudo apt install open ...